Obsidian as a personal knowledge base

Recently Obsidian, an app I have been using since 2020 had its 1.0 release. Using this app has changed the way I study, in a good way. It’s become my personal knowledge base, containing extracted knowledge from sources all over the place.

Obsidian is a note-taking app that works on top of a local folder of markdown files, called a vault. It has the default features every note taking app has: markup, in-line LaTeX, full-text search, tagging, folders, et cetera. It’s available for all platforms you could wish for.

Obsidian

Writing like you think

So, pretty much like most note taking apps, right? Yes, you could use it that way. But Obsidian is part of a group of apps that are changing the way we can store our knowledge — by allowing us to manage a personal knowledge base.

As a student, note-taking is probably important to you. But as the amount of notes you’ve taken increases, you’ll have run into problems:

  1. you can’t find some notes
  2. you realise your neat folder or tag organisation method is not compatible with your way of working anymore
  3. you know you wrote something about a subject, but can’t find it anymore
  4. you’re writing a lot of redundant and duplicative content in related notes

The problem with taking notes is that they don’t represent the way you think and remember. We jump from thought to thought, from idea to idea. Obsidian — and for that matter similar apps like Logseq, Notion, and Roam — allows you to work in a similar, non-linear manner. There are two main features that make these apps so powerful: links, and transclusions.

Linking your thinking

You’ve probably linked to external websites in your notes, as a reference or as supplemental information. But in Obsidian, a link can point to anything: a website, a file on your computer, another note, a paragraph in another note, an image. Or even to a thing that doesn’t exist yet.

You can surround some text with double square brackets like [[so]], and Obsidian searches its internal database for a note, file, or reference to that text. But it’s no problem if it doesn’t exist. If you’re taking a note and referencing a subject that you know you will write about later, you can already link it, and the connection will appear automatically when you create that note. This is similar to how links work in Wikipedia.

These links are bi-directional. If one note link to another, Obsidian creates a backlink from that other note to the one note. Backlinks are useful to find notes that reference the one you’re working in right now.

But you don’t have to link to a note to connect it to others. Obsidian also keeps track of places where you mention note titles without linking them.

For example, I have a note about regular languages that referenced by 7 other notes . But looking at the unlinked mentions, I can see that the subject of regular languages is mentioned another 22 times. I can even see that I mentioned it while writing this blog post! It is a great way to discover connections between concepts you didn’t realize existed.

You can even link to specific headers or even paragraphs within a note. Especially great if you want to reference a later part of your current note, or expand on some statement you wrote before.

Transcluding from everywhere

If some piece of knowledge is related to multiple other subjects, it makes sense that the part that is connected to those other subjects is updated whenever you learn more about that piece of knowledge. Obsidian makes this possible with transclusions.

In short, it is the inclusion of some part of a document into another. This makes it possible to create a dynamic document from many different sources, which is updated automatically along with changes made to the transcluded documents.

Example of transclusion from Wikipedia

The definition of a regular language that was shown in the screencap of the note I showed before, is actually a transclusion!
I use this functionality a lot — definitions, theorems or examples are referenced a lot throughout my study notes, and transcluding them whenever necessary greatly simplifies this.

Cool stuff

This is just the basic functionality of Obsidian. It can be extended with plugins made by a large community, and as of writing there are 666 plugins available.

Last week I wrote about Jupyter notebooks, an example of a tool for literate programming. Well, Obsidian has support for this workflow as well, using the Jupyter plugin, and another plugin allows you to interactively run Haskell code snippets.

Another plugin creates a way for you to query your Obsidian notes with JavaScript, and treat your vault as a giant database.

There are loads of plugins supporting task management, planning, journaling, mindmapping, and automating Obsidian itself.

Try it!

For me, using Obsidian has saved me a lot of time when learning, and made rehearsing stuff I learned about before a lot easier.

If you’ve ever run into one of the problems with note taking I mentioned before (wish there was a way to link to that paragraph somehow 😉), my advice would be to try using Obsidian for a while, or any of the other non-linear note taking applications available today.