A super simple Zettelkasten note taking system

By on 7 September 2022

Yesterday I found this amazing gist that got me running with Zettelkasten in no time 💪

Check out this short YouTube video where the author demos this workflow:

As the Zen of Python wisely taught us: Simple is better than complex – and this is so true for what can easily be an overwhelming task of putting a note taking system in place, specially the Zettelkasten.


In case you’re not familiar with Zettelkasten, read up on it here – definition quote:

A Zettelkasten is a personal tool for thinking and writing. It has hypertextual features to make a web of thought possible. The difference to other systems is that you create a web of thoughts instead of notes of arbitrary size and form, and emphasize connection, not a collection.

Source: zettelkasten.de

And read the How to take smart notes book. It really makes you reflect on how to become a better learner.


Being a tech nerd, of course I wanted to build something around this. Thoughts that ran through my head:

– Write a Django app

– Use FastAPI to make an API

– Use fancy vim plugins (I tried one, but quickly hit complexity)

But nothing beats Unix / the command line and with the two commands from the gist above I can add, search and even link notes (the linking is what makes Zettelkasten such a big deal, it emulates how the brain works!)

Just to be clear, this is probably a very simplistic implementation of Zettelkasten, but as with all solutions perfectionism and premature optimization are real threats so we always say: “start simple, ship fast“.

Side note, I actually did try to make a Python script that did the Zettelkasten numbering thing (1 – 2 – 2a – 2b – 2b1 – 2b2 …) but got stuck.

Luckily I stepped back and reflected on the real problem to solve and that is the linking. And this simple solution has support for that so it’s “good enough”.


I think this is going to be a game changer. I have read books for years without taking proper notes. A missed opportunity!

I would highlight and occasionally take notes in the margins, but that does not force you to really think about what you read nor make connections. And that’s where the REAL learning happens.

The Zettelkasten (a.k.a. slip-box) method is going to change that and I am really looking forward to the compounding benefits this will have over time. It can turn me into a better reader, writer and teacher.

See a video below how I have set it up (I did not show the linking but see the original video on how to do that, as you see me commenting in the gist, I had to swap out xclip for pbcopy to make that work on my Mac).

Again start simple, don’t reinvent the wheel, and keep iterating over time!

Update: since I set up this note taking system, I did two things:

  1. I made a separate repo for the code tips I post to Twitter, see here.
  2. I decided to do the note linking purely based on tags, making a script to automatically make an index page sorting the notes by tag, see here.

Want a career as a Python Developer but not sure where to start?