DEV Community

Cover image for Building a Knowledge Base From Your Notes
Vinicius Brasil
Vinicius Brasil

Posted on • Originally published at

Building a Knowledge Base From Your Notes

As a software developer, grocery buyer, master procrastinator, and theology student, notetaking is important to me. I have used plenty of tools that helped me keep to-do lists, take notes from my classes, and textbooks. Apple Notes, Evernote, Notion, Bear, Agenda, Notability, OneNote, Google Keep, paper and pen. I have literally tried all these. They are great tools, but when the number of notes starts growing, some problems start to raise:

  1. Notes become hard to find
  2. Even if the app has a #tag feature, you don't remember all of your tags to search
  3. Full-text search does not scale
  4. You can't easily link your notes
  5. Older notes become obsolete
  6. Older parts of your knowledge base go to waste

The main problem does not lie within the app, but the way we take notes. The human brain is non-linear: we jump from idea to idea, all the time. Your notetaking tool should work the same.


In my journey to find a solution, I found this strange and old method of taking notes called Zettelkasten, or slip-box in English. Niklas Luhmann, the creator of the method, was a highly productive social scientist with 50 books and over 600 scientific articles published. He could only publish that amount of articles thanks to Zettelkasten.

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. (

Zettelkasten proposes a way of writing connected notes, and not just a collection of notes. Take Wikipedia as an example: it is not just a collection of articles, but a web of connected knowledge.

If you're at the Elixir programming language Wikipedia page, you might find a link pointing to Erlang, that points to Open Telecom Platform, that points to Ericsson, and so on. Luckily someone built a graph view to Wikipedia, and Elixir's graph looks like this:

Elixir Wikipedia Graph

You can learn more about this method in


After studying the method and tweaking it to my own needs, I found this amazing notetaking tool called Obsidian. It is a powerful knowledge base on top of a local folder of plain text Markdown files that you can organize in whatever way you want.

Obsidian is my current choice for writing and organizing notes on any complicated subject. Feels like the closest anyone has come yet to realizing the promise of hypertext as a tool of thought. (Graydon Hoare, creator of the Rust programming language)

I take notes on almost every content I read or listen to. Podcasts, blogs, articles, books. Links help me to build a solid knowledge base. Everything is saved in Markdown files in my iCloud Drive - but you can use whatever you want, from your local disk to a GitHub repository. This ensures these notes will be with me for a long long time.

This is how the graph view of my notes looks like. A mix of Portuguese and English with links that just work.

My notes graph view

And before you ask, here is a sample note I took from an article I read:

Literature note example

This guide helped me start with Obsidian. Hope this helped you in your notetaking journey.

Discussion (1)

mandarvaze profile image
Mandar Vaze

Those who use VS Code as their daily driver, may consider Dendron as a PKM that is local-first, markdown based.