My New Obsidian Zettelkasten

My New Obsidian Zettelkasten
Lost in a sea of notes: Image generated using Stable Diffusion XL.

Recently, I've been having some trouble studying. This is mainly because I set up my workflow without really considering the end-goal behind it. As a consequence, I've been hoarding away the notes that I take, and either not doing anything with them, or taking far, far, far too long to process them into my knowledge management system. So, it's time for a redesign.

What is Zettelkasten?

There are so many resources out there on note taking and knowledge management all touting the advantages of different workflows, apps and systems. One extremely popular topic is that of zettelkasten. At its core, zettelkasten is a system of note-taking and note-processing that allows you to more naturally think about how the things you've read and consumed are interconnected, and to produce content from your notes. It's a system most associated with Niklas Luhmann - a sociologist who used the notes he took on slip-cards and filed away in slip-boxes (his zettelkasten) to produce more than 70 books and almost 400 scholarly articles.

Now, there's so many different ways that Luhmann's method has been adopted and adapted for modern day use that I really don't want to muddy the water any further by going into detail on my own version. Nevertheless, there's a few details that I need to touch on for any of the following to make sense.

The Basics of Zettelkasten

A zettelkasten system relies upon you taking notes. These can be fleeting notes that you quickly jot down as they come into your head, or they can be well-thought-out notes that you've used to explore a difficult topic. It doesn't matter. You just need to take notes.

Now you've got your notes, you're going to have to think about what you've written. It's not enough just to have a collection of highlights or some brief sentences vaguely describing what you've learned. You need to think about what the note is saying, and try to distil its core concept. You need to remove it from its current context while preserving it's meaning. This is important, because it means that when you come back to the note in a week, or a month, or whenever, you'll know what you were talking about and why it was important enough to write down.

You also need to give the note new context. It's not enough just to have a bunch of notes randomly floating around in cyberspace or collecting dust in some drawer. You have to be able to find it again, and to interact with it. So, when you're done distilling the key concepts and writing new, individual notes free of their original context, you need to then link those new notes to others. You need to think how they relate to the other things you've learned, and the different questions you have. You need to think about what prerequisite knowledge you need to understand the concept you've written about, and you need to consider what questions should be asked regarding this concept.

Once all that's done, you should now be able to archive all those original notes, for you should have a much greater set of permanent, interconnected and expanded collection. Now, you can start exploring all those connections, ask more questions, group them in new ways, observe the hierarchy and direction of your original thoughts, etc. Ultimately, this helps you be creative, while also giving you access to personally written content that you can mine and reuse at a later date.

A wall of Slip Boxes: Image generated using Stable Diffusion XL.

Find Out More

I've skimmed over the zettelkasten method very quickly here, and have only hinted at the process and the benefits to be gained from using it. I promise you, it is very powerful. If you are interested in how you use zettelkasten, I strongly suggest you read How to Take Smart Notes by Sönke Ahrens first, and then go watch a few YouTube tutorials to see what method best suits your needs. Then, just start. It's awkward at first, and it takes a while to get going and to tailor the system to your own needs, but I really do feel it's worth it for anyone who needs to produce content or explore topics in great detail.

The Original Clunky Workflow

Originally, I'd watched a lot of YouTube videos and read various productivity articles and books all mentioning the benefits of creating "atomic notes", and putting them into a "personal knowledge management system" and, how we should all tend to our "evergreen garden"... Eventually, I decided to get started making my own system, and after a few failed starts with Notion and some other programs, I settled upon using Obsidian for all my zettelkasten needs.

Over time, this system evolved into the current iteration. As it stands, I take notes on various sources of information using a variety of apps. For example, I use Zotero for reading books and papers while making highlights and writing notes on the content. These then get imported into Obsidian via the Zotero plugin and a template I made. All sources, from books to podcasts to videos - they all end up in Obsidian within a single folder.

Once within Obsidian, I would go note by note, highlight by highlight, and convert each and every piece of information I felt was relevant into its own, standalone, "atomic" note. This meant that I gave it its own title, I paraphrased whole concept using my own words, I attached metadata such as keywords and topic tags to the note, and I linked it to every other note I could think of that was relevant.

It was fun at first... Two months later though - not so much.

Obsidian Graph View: Shows my notes as nodes, and their connections as edges. A Tangled mess.

The supposed next step was to then look through all those connections using a "local graph view" and think of questions I could ask that would link the already-linked content together in a nice, concise way. Kind of like finding an overall, encompassing theme. However, this proved to be extremely difficult, and I rarely had time to do this given that the first stage of processing took so long! I never got around to the final stage, which was supposed to be 'expressions' of my knowledge, such as writing papers and articles.

Ultimately, it got to the point where I just went back to reading papers as I need them, then ultimately forgetting the majority of what I read because I didn't want to go through the awful process I'd made for myself. Not the best solution...

Local Graph View: An example of one note's connections.

The New System

Recently, I've been looking for PhD opportunities related to my interests, and I need to write research proposals for a couple of them. That means I need to go back into my accumulated knowledge and shake it until something good comes loose. Unfortunately, all the past notes I've made are so tangled up with indiscriminate links to one another that I can't make sense of them as a whole. So, it's time for a redesign.

Importing Sources

The first stage of note processing is getting those notes into my system. This needs to be as seamless as possible. To that end, I've kept Zotero for consuming and taking notes on books and papers. For everything else - I've decided on a Chrome plugin called Memex. It's got highlighting features, it's got video timestamping, it's got an easy way to make export templates, it's got a nice way to pull multiple sources together into a single page, and it's got good sharing features. Easy.

Using these two apps/programs, I can import my notes into Obsidian so that they have the same format. That includes the same frontmatter metadata fields, the same markdown, etc. Nice and uniform for easy processing.

'Thoughtscaping': Visually Processing my Notes

This is where the meat of the changes comes in. Where before I would have to spend about 30 seconds - 3 minutes per note or highlight just to process a note, now it only takes me about 10 seconds just to get the initial connections and thoughts down.

I'm making use of a feature within Obsidian called Canvas. It's this visual workspace where you can pop multiple notes up, change the colours of them, interact with them, draw links between them like a flowchart, group them together, etc.

Processing a source: The highlights and notes from the original source are on the left, with the canvas on the right. In this example, I'm looking at the theme 'memory' and its related cards.

So, I'll open up a note on the side of my monitor, and open up a new canvas. I'll create a new card on the canvas, and them write a brief title for the note that describes what the note is saying in the form of a statement or claim. Then, I'll link the highlight or comment as a "transclusion" so that the original comment/highlight is shown under the title. This means that if I edit the original note, it'll display on the canvas card.

Finally, I place that card in relation to others I've made by dragging a link from one to another. For instance, if I believe card A is needed to understand or is foundational knowledge for my new card (card B), then I'll link from the bottom of A to the top of B. If I believe A and B are related to one-another, then I'll link laterally instead.

That's it. That's all there is to it.

Well... Not quite. There's a few more details, such as colour coding each card so that 'red' = 'not yet fully paraphrased', 'blue' = ' Entry topic', 'purple' = 'Question or something to explore later', etc. I also have the exact same problem at this stage as I did with my previous system; when studying a new topic or processing from a content-rich source such as a review article, the cards quickly tend to build up and I start to have my original problem of becoming overwhelmed with what's on the screen.

Thankfully, Obsidian's canvas feature supports groupings of cards. So, once I reach that critical mas point where I feel I have a good sense of all the subtopics of a source or topic, I take a step back and consider how I want to group all my cards. It's kind of like a mini-thematic analysis - I've got to find themes that are descriptive and wide-reaching, while also being mutually exclusive. Once that's done, I pull all the cards into those new theme groups. This makes it far easier to consider where future cards should be linked to, and allows me to continue until finished.

I call this process 'thoughtscaping' - it's a kind of combination of brainstorming and zettlekasten whereby you preserve the initial source notes, but you give them new contexts and easy-to-understand titles by which to understand them.

A pulled-out view of an Obsidian canvas: This is a half-processed review on place cells, separated by five themes I identified in the content. Within these themes are individual notes from the source.

Of course, by the end of the process, you do just end up with another spiderweb of interconnected notes that are - while a lot less complicated to make sense out of than in my original system - still extremely difficult to interact with and create content from.

Python to the rescue

That's where my rudimentary python scripting skills come in. With the help of ChatGPT, and a couple of hours of hitting my head against the wall, I managed to come up with a script that goes through the JSON in a .canvas file, and extracts the relationships between my notes. It then creates markdown files, with the titles of the cards forming the titles of the .md notes, and the relationships written as frontmatter metadata for each note.

So, if 'card B' was originally connected below 'card A', then the corresponding 'note B' would specify that 'note A' was it's parent. It does this using Wikilinks so that the general structure of the relationship is easy to navigate. The notes also specify other features, such as whether the card was paraphrased, if it was a question/something to explore later, etc.

The end result: A card that's been converted into a .md note via my python script. You can see the 'properties' frontmatter which contains links to the note's different relationships, and information about it's processing stage and any question's it's propagated.

In summary

Thus, by using the canvas feature of obsidian and the script I made, I have an easy, intuitive, and visually appealing way to explore my sources and notes.

It's still a lot of work to make and process the notes, and I wouldn't recommend doing so unless you plan to use the system for writing your own content. As someone interested in producing papers, a thesis, and various blog posts, this system suits me. It follows the basic principles of Zettelkasten, but it shakes up the order a little to give me more time to focus on the connections between ideas.

That means I might have a bit more work to do when it comes to actually producing content, as not all the notes will be paraphrased - but it ensures there's some structure to the links. Now, I can choose a starting point (A 'Map of Content' in personal knowledge management circles), and explore a ready-made narrative which I can then use or play with in my writing, and that's what's most important to me right now.

So, I've now got a shiny new system that allows me to connect pieces of evidence-based information together and tease out new information by exploring different narratives and themes. It allows me to see what information I might be missing and what questions I need to ask, and it allows me to quickly convert my notes into a zettelkasten collection of permanent notes that I can further refine and dive into to eventually produce better evidence-based and sourced content. Best of all, it's quite fun to work with! Not bad for a days work.