Roam is a recently released tool branding itself as “a note taking tool for networked thought.” Some may use it for research, others for planning or a to-do and yet others for goal tracking — but the capacities of this incredibly flexible platform don't stop there as it is built on principles versatile enough to adapt to many use cases.

One use case is in developing meta-cognition, or "thinking about thinking"— connecting the dots between data and information in creating one's own links and meta-knowledge so that it strengthens both one's memory and the understanding of new information. At the core of Roam is the concept of the mind-mapping graph — basically a visual way of sense-making, a diagram that helps connecting information around a central concept.

In Roam, each note becomes a node in the directed graph of one's mind map, and there’s no central concept to start with. The map is fluid, with no explicit or fixed hierarchy, linearity or stacking. It’s a giant knowledge web representing one's notes and the connections between them. As Khe Hy explained in his Roam tutorial, “You basically have the potential to crawl an entire digital workspace at the most atomic level — the idea.”

The Zettelkasten Method of Note-taking

Roam is inspired by the Zettelkasten method, "zattelkasten" being a German word for a box to store note cards in. The main idea of the Zettelkasten method is that instead of writing in a journal of full pages, we use a ton of small re-arrangeable index cards. The cards have bullets on them and use a special numbering system to enable cards to reference each other. LessWrong offers a good in-depth explanation. Roam’s hypothesis is that popular knowledge management tools like Evernote, Notion, Google Docs, etc. are flawed for research and note-taking because they’re more like a book of pages than a pile of index cards.

Roam has two atomic building blocks: pages and bullets.

A Roam page is like a Zettlekasten index card rather than a page.

A Roam bullet is a unit of text on a Roam page that can be nested in an arbitrarily deep hierarchy.

In that way, Roam is reminiscent of such command-line tools like the hnb (hierarchical notebook).

Roam Research is Powered by Bidirectional Links

At first glance Roam feels like a wiki of sorts. But the power of Roam and what underlies its knowledge graph is the bidirectional linking engine. Links between pages are created using either [[topic]] or #topic . If a page already exists, a link between the two will be created and if there’s no corresponding page with that title, a new page will be created and linked to from the page you’re currently on — which is basically just a node in the network of thoughts and it will automatically collect all the other pages where that topic is referred to. Content from pages can also be referenced at the block level, by simply using ((reference to block)) — as Khe explained, we get to the atomic level of knowledge management.

Fluid note-to-note inter-linking and easy to visualize web of connections between nodes (the "Graph Overview" feature) give an overall effect that makes Roam feel like dumping your brain into a “second brain”.

White paper

The white paper can be found here. It describes Roam as an online workspace for organizing and evaluating knowledge, built on a directed graph. Citing:

Users can remix and connect ideas in multiple overlapping hierarchies, with each unit of information becoming a node in a dynamic network. Any given node can occupy multiple positions simultaneously, convey information through defined relationships, and populate changes throughout the graph. With weightings assigned to the strength of relationships between nodes, Roam also becomes a tool for Bayesian inference and decision making.

Large-scale collaboration requires a more flexible data structure than the classic file tree. Roam is built on a knowledge graph that maps all possible relationships, with ‘smart’ links between defined concepts. Users can connect similar ideas in multiple overlapping hierarchies, remix them without overwriting the original context, and selectively share parts of the graph with others to collaborate on specific sub-questions.

If current tools resemble filing cabinets, Roam is more akin to the nodal networks in telecommunications, or the neurons in the human brain. Rather than existing in a vacuum, each note or file becomes a node in an interconnected graph of ideas. A single node may simultaneously hold positions in several different sequences, hierarchies or file paths, and can ‘talk’ to other nodes, communicating information back and forth about the nature of each relationship. The network is dynamic, so updates and revisions are populated across the entire graph simultaneously. Individual nodes or branches within the network can be forked as required, allowing a new pathway to deviate without changing the original meaning.

At the simplest level, Roam’s structure makes it inherently easier to store, recall, and cross-reference ideas. This is the primary proposition for students, writers, self-directed learners, and users of existing note-taking apps. For power users, the knowledge graph also unlocks applications in logic and reasoning, Bayesian inference and decision-making, modelling complex problems, and collaborative research.

It is also useful in constructing Bayesian inferences (by attaching weights to nodes, using "certainty:: {{[[slider]]}}"), untangling complexity and optimizing for serendipity and insight.

Here's a reddit post (from the r/roamresearch) explaining how to go about implementing a BASB (Building a Second Brain) in Roam.