r/commandline • • 4d ago

Terminal User Interface jn - a 300kb binary for managing tasks and making notes the filebased way. No robots involved.

Enable HLS to view with audio, or disable this notification

Hello!

I'm here to show you jn. It's a cli note-taker/task-manager I've been working on/off for the past year or so. The main difference between it and others is:

  • It's filebased
  • Fuzzy finding is at the forefront of jn throughout (editing is very rapid)
  • It's very "Linux" if that's your jam

I tried a _bunch_ of others over the years while stuff was missing from all of them. Here's what I tried and why it didn't work for me:

  • nb - Felt quite complicated and like a shotgun. Also didn't enjoy the UI
  • dnote - Felt too bare and it's driven from a db :(
  • taskwarrior - Incredibly powerful but db driven :(

I tried a myriad of others and some got close but not all the way. So naturally as everyone does, I reinvented the wheel.

It's my daily driver for all of my notes and for my task management. She's stable and sitting pretty at around 190kb on Linux. Thank Nim for that, heh.

Notes are simply markdown files, tasks are simply any items in a file that look like this:

- [ ] My task 

You may have seen it here before but I've done a bunch of new stuff since last posting. All the todo stuff is fully fleshed out with due dates, the ability to filter and also some nice multi-selection stuff on fuzzy finders.

Anyway, it's very unix-y and tries to "do the right thing" at all times. It has a lot of bells and whistles so do take the time to dive into the README.

I've attached a video because we're in 2026 and people don't have patience anymore

You can read more on the Github page for jn if you like :)

Also feel free to badger me on here :D

54 Upvotes

14 comments sorted by

5

u/AutoModerator 4d ago

Every new subreddit post is automatically copied into a comment for preservation.

User: mr-figs, Flair: Terminal User Interface, Post Media Link, Title: jn - a 300kb binary for managing tasks and making notes the filebased way. No robots involved.

Hello!

I'm here to show you jn. It's a cli note-taker/task-manager I've been working on/off for the past year or so. The main difference between it and others is:

  • It's filebased
  • Fuzzy finding is at the forefront of jn throughout (editing is very rapid)
  • It's very "Linux" if that's your jam

I tried a _bunch_ of others over the years while stuff was missing from all of them. Here's what I tried and why it didn't work for me:

  • nb - Felt quite complicated and like a shotgun. Also didn't enjoy the UI
  • dnote - Felt too bare and it's driven from a db :(
  • taskwarrior - Incredibly powerful but db driven :(

I tried a myriad of others and some got close but not all the way. So naturally as everyone does, I reinvented the wheel.

It's my daily driver for all of my notes and for my task management. She's stable and sitting pretty at around 190kb on Linux. Thank Nim for that, heh.

Notes are simply markdown files, tasks are simply any items in a file that look like this:

- [ ] My task 

You may have seen it here before but I've done a bunch of new stuff since last posting. All the todo stuff is fully fleshed out with due dates, the ability to filter and also some nice multi-selection stuff on fuzzy finders.

Anyway, it's very unix-y and tries to "do the right thing" at all times. It has a lot of bells and whistles so do take the time to dive into the README.

I've attached a video because we're in 2026 and people don't have patience anymore

You can read more on the Github page for jn if you like :)

Also feel free to badger me on here :D

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

3

u/bzbub2 4d ago

have you tested it with any voice to text? I'm trying to figure out so.wthing for that but need really low effort...hence speech 2 text 

1

u/mr-figs 3d ago

I have not. I've never used any voice to text, how would that even work?

Not trying to be sassy, just genuinenly haven't got a clue haha

2

u/joanmiro 4d ago

https://github.com/miratcan/kaydet/ I'm using this may be you can check it out too.

2

u/mr-figs 3d ago

Nice!

I'm not interested though sorry. I don't like the language choice, the AI-first approach and also all the encoding it does in its txt files.

Mine are just your markdown files (or whatever you configure). You can point jn at any directory and it'll work

2

u/mainframe_maisie 3d ago

gosh nim looks like a lot of fun to write stuff with!

1

u/mr-figs 3d ago

It's pretty great!

There's very little I like about it. Expressiveness of Python with the speed and binary sizes of C languages. Surprised it's not more used really

2

u/oxamide96 2d ago

Is a todo also basically a note here? I'm not understanding the difference from the Readme. 

2

u/mr-figs 2d ago

When you run jn todo it greps through all your notes for the following:

  • [ ]

So for example

  • [ ] Do the dishes

Would show up when you run jn todo (or jn t).

Specifially it's a line in a file, not the file itself.

I'll try and reword it to make it more clear

2

u/oxamide96 2d ago

Ahh okay I get that.

Do I hand type the - [ ] into the content of the file, or does the jn command create / edit / delete processes? 

1

u/mr-figs 2d ago

You can either hand type it in any file in your notes directory or if you run

jn todo --add "your task here"

It'll create (if it doesn't exist) a todo.md with that one task in it.

To save some typing you can use the shorthand of

jn t -a "Your important task"

If you do jn -e you can open up that todo and see what's its actually done. All it does is prepend your task with "- [ ]" and then add the creation date at the end

3

u/B-Brimes 4d ago

ooh, sound great, will definitely give it a spin

1

u/mr-figs 4d ago

Thanks!

Let me know if you come up against any issues

1

u/kklyy4ukk 2d ago

Filebased + fuzzy everywhere is the right combo. The 300kb detail is what sold me — half the reason I still keep notes in shell scripts is that every "proper" tool wants a 40MB runtime for an append-only text file. Does jn keep plain Markdown by default, or is there a mapping layer between task metadata and the file?