I recently stumbled upon the book How To Take Smart Notes by Sönke Ahrens.

It took a few chapters before I realized it was about Zettelkasten, a way of taking structured notes with the promise of more easily retaining and recalling topics that you’re studying. This isn’t the first time I encountered Zettelkasten, but I opted not to try it out at the time as I was new to the world of developer education.

Now that I am trying it out, here’s how my first week went.

💬
Zettelkasten is a keyboard-full, so I may abbreviate it as ZK throughout the article.

Zettelkasten in my own words

If you’ve read the book, Ahrens structures a ZK system with the following concepts:

  • Fleeting notes are quick notes to remind you of what you’ve read, or thoughts throughout the day.
  • Literature notes are summarizations of the source material, including references.
  • Permanent notes are short notes in your own words that are linked to other notes, building a web of notes that reference each other.

I feel like the last note in the list is the important part of this system. It leverages the power of active recall and forces you to put stuff into your own words.

Active recall is a powerful learning technique where you describe something without referencing any other material. There are a lot of benefits of this technique, but the ones that I find the most compelling are increased retention of the material along with highlighting what you don’t quite understand.

If you’ve ever written a technical blog post, you will quickly discover what knowledge you are lacking when you cant put it into words that others can understand. With ZK, you are essentially writing short posts for yourself. You get those benefits without the pressure of publishing.

The second key part of this system is the process of building associations between these notes. By defining links between notes, you can easily traverse your “graph” of notes and find topics that are related that you otherwise might not have considered. Notes are meant to concisely focus on one idea, so you can easily build a large graph very quickly.

That last part becomes important for content creators, as I’ll touch on later in this article.

Using Obsidian

Obsidian is a common choice of software in the ZK circles.

It’s markdown-based so it’s easy to write with (especially for developers). It allows you to use wiki syntax to link notes quickly, and even creates empty associations for notes that don’t already exist. And finally, it allows you to view those associations visually in a node graph structure.

This graph view is super neat for content creators since you can see “hot spots” of notes around a given topic:

Flipping the creative process

A good ZK system makes content creation easier by taking a “bottom up” approach to the process.

I’ve been creating content professionally for over two years at this point, and much of my process involves brainstorming a big idea to write about, researching topics or systems around that idea, and create a piece of content that fits the original idea.

This works to some extent, but the ZK system proposes to research things that interest you first, THEN create content based on the hot spots in your system. In the graphic above, the Postgres topic actually has the most associations. This is partially due to a piece I was writing, but many of these notes were created based on research I was doing to support a user who was struggling with a Supabase integration:

While I don’t often cover Postgres, it felt like a good idea to write a small piece that intros users to Row Level Security, simply because I already had the material to support the article!

Builders that create content

If you are a builder who also creates content (blogs, videos, etc), I HIGHLY recommend exploring the ZK system.

Since you are probably researching how to fix issues with your projects already, taking the extra step of creating these short notes that are linked together could supercharge your creative process!