Published on

Personal knowledge base


It all started with code snippets. I was looking for the right tool to store them and eventually found out the whole knowledge base concept. The idea to store all learned stuff and other useful information in one place looked so good I immediately started searching for tools and techniques that would allow me to organize the storage in the most convenient way.

But first, requirements.

My requirements for the knowledge base tools

  • Owning the data is the critical requirement: I want to have files on my computer all the time.
  • I need not only smart organization with tags and links, but also old-fashioned folder structure (again, to map it easily with files owning process).
  • Being able to migrate from one tool to another anytime was is also important. Tools can change or even disappear with time, and a knowledge base system is something I want to have for decades.
  • Cloud synchronization would be very much appreciated. Sometimes I don't have access to a laptop, and it would be very convenient to always have the whole base at my disposal.

It's surprising how little instruments offer the ownership of the files, so in the end, my choice was between the two options:

  1. Obsidian (allows literally to browse the folder with files)
  2. Notion (doesn't have access to files, but allows to export everything in plenty of formats). I really wanted to keep Notion: it's a convenient tool, super easy to use. It syncs very well among devices and has plenty of very useful features such as tables, calendars, boards and other stuff.

But in the end, having access to files solved everything for me, so I've decided to proceed with Obsidian. Leaving plenty of useful features behind was not an easy choice, but I gained the most critical one: the ownership of my data.

It appears the old-fashioned folder-based system works best for me still, so, technically, all I take from Obsidian is the support of wikilinks and tags.

Space organization

I decided to make one theme for my naming, so they look pretty and have some character instead of boring document-related names.

The whole system is called _solar, and it's just the folder. It could be stored anywhere and easily backed up. _solar consists of the following volumes:

  • system gathers information about essential life-supporting areas of my life, such as health, finance, house and so on. This is how I organize my physical and mental matters to being able to do everything else.
  • energy contains notes about activities that restore my mental energy, such as reading, movies and games. It is intended to be used mostly for hobbies and activities that bring me pure joy without producing any other output.
  • storm contains notes about my skills and require active participation, such as programming, language learning and music production. Those activities usually have an output like some blog posts or other content and require significant time and energy investment. Code snippets are being stored here as well.
  • wind is dedicated to notes and journals, mostly for my thoughts or progress tracking. This is a place for writing a lot. I keep my dev journal here and this year also added a separate folder for reflections on the previous year.
  • eclipse is an empty volume free to use for future needs.

Each volume is, again, just a folder. I like the idea of adding any kinds of files to the folder if needed (images, pdfs, Mindnode's files). It would be great to have the feature of viewing those additional files in Obsidian, by the way 😊

Each volume contains _main note, an entry point for other content in the folder. The naming is _main-NAME_OF_THE_VOLUME (for example, _main-storm). This way, I can have a nice summary in one place, along with all the links. Also, it allows generating a nice graph in Obsidian where each big volume node accumulates smaller notes.

As a main notes' format, I use Markdown, the default notes' format in Obsidian. It is flexible, doesn't depend on any additional software and looks nice in both writing and preview modes.


So far, this is the best solution I managed to make for personal notes. It works fine with Obsidian and provides full access to my data.

I would appreciate Obsidian mobile app and synchronization between devices, which would be very convenient. Although the ownership of data becomes handy at this point, I can put the whole base either to my cloud storage, under version control (GIT), or both at the same time.

So, even without synchronization out of the box, the system works well and hopefully is future-proof enough to stick to it for a long time.