Dunno about you, but no one, ever taught me how to take notes properly. I mean - theoretically, it's not a big deal. You listen, you pay attention, you write down the most critical information and potentially underline or highlight stuff that has especially caught your attention, for whatever reason.

This model works, but it does not scale. The more notes you take, the harder it becomes to use them effectively because technically, you need to scan them sequentially and look for some reference points (in the text) to navigate. It's good enough if you're a student working with the input collected during one semester of a given subject, but what if you want to build a personal knowledge base?

In such a case, you need to change the way of thinking about personal knowledge management:

  1. The whole point is not about acquiring facts or even filtering out useless/repetitive 'fillers', but having the collected knowledge manageable long-term by making it traversable, navigable, and searchable.
  2. You may have great observations (regarding the fact you're noting down) right now and here, but what matters is how knowledge adds up, how facts (including the ones from the past we may have forgotten entirely) synergize and produce new conclusions.
  3. Knowledge is NOT hierarchical; it's a complex, multi-dimensional graph of facts, attributes, and bi-directional relationships (what makes it significantly harder to organize AND refactor).

Realizing those truths has made me rethink my way of collecting and preserving knowledge. I'll spare you the whole 'framework' and how I got there (that was quite a journey ...) - let's talk about a particular tool that has become the pivotal element of my personal knowledge management setup.

Enters Roam Research (RR).

What's RR? It's a note-taking tool that aims to help you build the 2nd (artificial) brain. At the moment, it's web-only (no dedicated mobile apps), fully managed (data is kept within), and to be honest, it's rather crude when it comes to appearance. But it's not the looks that have attracted me to RR.

The tool is being developed very actively by a dedicated bunch of true missionaries with crazy Conor White-Sullivan at its head. The team may be small, but it's already backed up by a very active community that creates content, tutorials, themes, and even extensions. You can find some examples of useful community links at the bottom of this blog post.

I have been using RR since it was officially opened for everyone to register (in June 2020), and the price is, in fact, quite high (15 USD per month). So what's so special about that tool that justifies such a cost?


It's secret sauce is basically a one, single trick: you write down knowledge in a way that resembles crafting an indented, nested outline, but at any moment in time you can embed in it a named thought that will be linked (to your current thought) by a navigable, bi-directional connection. 'Naming' those thoughts (and navigating between them) is as friction-less and natural as possible. And by a thought I mean literally any quantum of information - a fact, a note, a review or simply a metadata category which will group other information.


If you haven't seen it in action at all, I recommend getting familiar with the official tutorial videos, starting with this one:

Done? Great.

One thing you should be aware of is that RR is a very flexible tool, and it doesn't enforce the workflow (or rigid structure, or conventions used). It does bring some basic capabilities to the table, but it's totally up to you how (and whether) you're going to utilize them. Two people may use RR in very different ways.

When it comes to myself, here are the key functionalities I love in RR:

  • friction-less page creation: type '[[' and it's already created and directly reachable - I don't have to interrupt my train of thought to do that
  • bi-directional linking of pages really works - you see linked references to the current page at the bottom of each page (so you can navigate across your 2nd brain nearly with a speed of thought)
  • RR detects for you the unlinked page references to help you (re-)build the connections you're not aware of
  • you can compose pages not only by linking but also embedding content (editable in place, effective everywhere)
  • creating page templates speeds things up and helps to follow your conventions
  • there's built-in functionality of filtering and querying content that you can embed into your pages dynamically (and it's really powerful)
  • the syntax is based on my favorite notation language - markdown - with some nice extensions like Mermaid.js for diagrams, tables and Kanban boards

How do I (use) Roam?

First of all, I extensively use daily notes - pretty much in the Zettelkasten way. It took me some time to get used to, but nowadays, I literally capture stuff as it goes, without bothering myself with much structure or formatting. There are very few rules at this point. One of them is never to copy and paste stuff, but always type it with my very own hands (more awareness = focus on my interpretation of the message).

Btw. what I found very helpful is the quick-capture PWA link on mobile. It works like a charm.

OK, so I have my thoughts captured. What now? Well, that's where the real work starts. At some point I do revisit the notes to turn them into actual knowledge. How?

  1. by extracting pages out of noted concepts
  2. by identifying/marking connections to already existing pages
  3. by applying basic markdown formatting to make the content more readable
  4. by adding metadata using my own conventions (codified with mechanisms provided by RR, like tags or templates)

When is this 100% done? Never.

This work is never limited to today's note(s). You never know where the connections will lead you next. I usually end up merging, splitting, (re)classifying, shuffling stuff around and ... I pretty much always learn something new out of that. New conclusions, ideas, ways to perceive things I considered thoroughly explored and well understood.

Roam wasn't built in a day

I have yet to see a flawless tool. Roam Research definitely ain't one either. Here's what bothers me most:

  • its syntax for non-trivial constructs (like Kanban board, tables, or queries) is powerful but far from intuitive (but 'quick commands' mechanism helps a lot here)
  • there are tons of useful plug-ins, but they are all based on the client-side script injection: which is very dangerous (and that's why I've given up on extensions completely)
  • I use RR only for my private stuff, because in my day job I deal with confidential knowledge, and RR doesn't allow me to work with data locally (contrary to Obsidian, which I use professionally - its knowledge base is kept in local markdown files that you can keep in source control and sync manually)
  • graph visualization is an eye-candy, but it needs some more love to become useful
  • I have no complaints on general performance, except one case: the initial loading of daily notes (today + whatever fits the screen) can occasionally take 2 or 3 seconds - enough to be irritating if you're about to scribble something urgent down
  • for such a small team, the development goes really fast - sometimes because the team goes shortcuts when it comes to UX; but as a result, some features are nearly 'hidden' and counter-intuitive (e.g., the way you create a template or color theme) - this may be a mental barrier for people who do not consider themselves tech-savvy

Becoming a (Roam) Cultist

The truth is I really don't want to exaggerate here, but in my case, Roam Research has turned out to be a real game-changer. I was building my knowledge base for years already, but all the hierarchical approaches (and their subsequent refactorings) were failing at some point, regardless of the tool(s) used. The graph-based, low friction approach may appear very rough and crude at first glance (indeed, it's devoid of bells and whistles ...), but it SIMPLY WORKS.

Can there be any better recommendation?


Useful links: