Using hashtags and filters to organise lists in Roam

Posted on 8 February 2020. Tagged with roam, thinking

I'm a huge fan of Roam - it's a note-taking tool with some really unique features that make it more like a second brain.

While Roam has a bunch of powerful features, you don't need to use it like a power user. For the last month or so, I've been mostly using it as a place for daily notes, branching off to a separate page where it felt natural.

I've been trying to organise lists of things I want to read, but I'm still working out the best way to do this.

First attempt

My first attempt to organise lists was to:

This felt natural, but it wasn't flexible:

Moving away from hierarchy

The main problem with my first attempt is that I'm creating a hierarchy, just like creating a folder called 'Books to read' and adding files to it.

One of Roam's most powerful features, and the thing that makes it like a brain, is the lack of hierarchy. There are no parent-child relationships, only bidirectional links.

This can feel like a limitation at first, but if you shift the way you write notes, it's really powerful.

Two ways to make links in Roam

There are two ways to make links in Roam:

Apart from the requirement that there are no spaces in hashtags, these links are the same - writing [[ToRead]] and #ToRead links to the same page.

Using hashtags to categorise things

Using hashtags, we can solve my problem of organising the things I want to read.

Say I saw a review of the new Ezra Klein book, and I wanted to add it to my list of books to read.

I would:

That's it! Rather than nesting the book in a list of books, I'm just creating a page in Roam's graph network, and linking it to 'Book' and 'ToRead'.

Filtering linked references

Because links are bidirectional, you can see where other pages are linking to the current page. For example, on the 'ToRead' page, I can see all the places where I've added #ToRead. These are called linked references.

(inserted Linked references screenshot)

Roam makes it easy to filter these references. When I'm looking at the linked references, I can choose to include another page to see the overlap. For example, on the 'ToRead' page I can include 'Book' to see pages that link to both.

This solves my problem! Now I have a flexible way to organise the things I want to read. I can answer my own questions from above:

What happens when I read something?

I would remove '#ToRead' and add '#HaveRead'.

What if I find a list of books, like a 'best of 2019' list? Do I make a page for that list and nest it?

Yes, I would make a page for the 'best of 2019' list, and on that page, have a link to individual Roam pages for each book in the list. Then, on each book page, add '#Book' and '#ToRead'. This way:

What about articles I want to read?

I would simply tag these as #Article #ToRead. You can apply this to any type of content.

I still feel like I'm not making the most of Roam's powerful features, but I'm keen to continue tinkering. Let me know if you have any tips!

I don't have comments on my blog yet. Tell me what you think on Twitter.