Zettelkasten Forum

A request for comments on my concept for a Zettelkasten-compatible tool

edited May 16 in Software & Gadgets

Hello there!

I'm new here. Thanks for the wonderful community. I've been a lurker for a while, and I'm trying to create my own Zettelkasten. I'm a tooling addict so I can't get started until I find the perfect thing. I know this is silly, but I'm having fun.

I've created a concept of what a perfect CLI app would look like for me, in which to implement a Zettelkasten. I've mainly drawn inspiration from jrnl.


Comments are desired, as I've barely got started programming it, and most of my time was spent on the concept. I found this post a little bit too late, but the discussion is interesting.


  • Welcome aboard! I'm looking forward to see how your SQLite experiments are going. If you want to stress-test the database at some point, here are 10k Markdown files for you :)

    Author at Zettelkasten.de • https://christiantietze.de/

  • Hey there, thank you! I was a bit discouraged by the lack of comments :sweat_smile:

    I'll definitely be using that data. Do you have any comments about the API and the design of the tool? Since that's what I'm most worried about. I think it would serve my needs but I don't really have a Zettelkasten yet so...

  • This is similar to the setup that I use, except that I write markdown/tex files directly and then run a process to extract what I've written to a database (and then to serve a private website from the database). As I look through your setup, it seems that it might be a mighty powerful tool when it's complete.

    I'm not one for finishing all tooling before getting started. In fact, I typically think that you hardly know what you actually want before you get started. So if I were you, I would prioritize making a minimal core and begin to use it. The most important thing you're missing (at least, from my quick glance) is a convenient way of finding and linking to existing notes. But of course I'm not you, and you should do whatever you think is best.

    Good luck with your system!

  • Thank you. My planned feature to link to existing notes would happen through autocompletion in LSP-compatible (Language Server Protocol) editors.

    So I'd publish a tiny VSCode plugin and a tiny coc-nvim plugin so that you can type in links as autocompletion results.

    I still have to build a proof of concept for that, though, I'm just assuming it will work.

  • I find LSP super interesting! We looked into making an Open Source Markdown LSP component for The Archive, but the details looked kinds weird, so we passed for now :) Would be cool if you end up with a Zettelkasten daemon that provides LSP callbacks.

    Author at Zettelkasten.de • https://christiantietze.de/

  • Me too, I'm thinking the basic implementations I need are autocompletion of links (picking by title) and "go to definition" to follow a link.

    Additional nice-to-haves would be being able to hover a link to see an excerpt of the note. This is also possible via LSP, I think.

  • Welcome to the club. :smile:

    Everyone seems to be making their own tools for Zettelkasten these days.

    I'm pleasantly surprised you're using Rust. You might want to checkout sqlx crate. It's quite an interesting alternative to rusqlite.

  • @fnune as someone who doesn't really know much about the programming world, I'd first ask you what is the advantage or benefit of using a CLI app over say a traditional program like Evernote?

    Also how have you found traditional methods of note taking to be most limiting? (paper, Evernote, etc)

  • @sigod

    I used Rust because I'm a beginner and this seems like a good project for me at my level of understanding :smile: I will check out sqlx, thanks!


    To the question of what the advantage is of using a CLI app over a traditioanl desktop application, I'd say the answer could take ages to write down. It all boils down to preference, but here are some of the reasons why I like CLI applications better:

    • In the CLI, the main way of passing information from one application to another is text. Operating systems that implement POSIX utilities are full of tools that make the work of handling text a breeze in comparison to the GUI equivalent. Text happens to be the most important aspect of a Zettelkasten, too.
    • As a programmer, I am used to using the CLI for many things and I am just faster this way, but you don't need to be a programmer to use it or reap its benefits.
    • Most CLI application, because they have text as input and output, give you the chance to own your information/data because it's just there, sitting in your drive. I like this philosophy. Some GUI applications do the same, too. See Obsidian.
    • CLI applications are interacted with in a relatively standard way. GUI applications adhere to different conventions of how interfaces are built, and I believe they tend to vary more.

    As for the second question: I don't really have a Zettelkasten. I'm new to this idea and I would love to have the dedication to do this, but I still haven't got started getting my notes organized, or writing notes in an organized way. So I was never limited by either paper or Evernote, I just decided to write a program because it's fun :smile:

Sign In or Register to comment.