Note taking: OneNote vs Notion vs Roam


For the past year or so, I’ve used Microsoft OneNote for pretty much all my notes. It’s a wonderful tool – its differentiator from other note taking tools is that instead of using pages, it has a canvas that can effectively scroll infinitely downward and rightward from its canvas origin of (x=0, y=0).

That feature, plus the fact that OneNote plays very nicely with images, makes it a really effective note taking tool during covid. It’s very easy to create a a new text box or insert images anywhere on a canvas. During any webinar presentation, I’ll generally have my canvas effectively divided into two columns – one for screenshots of the slide deck, and another for notes from the speaker which I place next to the slide. This way, when reviewing the lecture or presentation, I’m able to view my notes from the speaker’s presentation in context of the specific slide that they’re speaking to.

OneNote notes from “Building IKEA’s Design System to Unlock Innovation” by Carola Cassaro & Karolina Boremalm at the 2020 Figma Config Europe conference. Recording available here:

It also makes it very easy to break consistency in spacing – so if a speaker goes off on a tangent unrelated to the main topic or to a slide, I like to create a new text box next to an empty space in the canvas, which effectively notes that the remarks aren’t related to any slide.

OneNote is great. I love OneNote. I have tons and tons of great notes stored in there, that I can access from any Mac or PC, with everything automatically updating to the cloud for full mobility between modes of interaction.

Unfortunately, I can never find my darn notes when I need them.

My folder structure is set up as something like 

  • “Lectures”
  • “Projects”
  • “Webinars”
  • “Books”
  • “Interviews”
  • “Conferences”

That all seems at first to be a somewhat workable folder structure. But what’s happened in practice is that I often don’t pick a folder to place items in beforehand, and in the moment I need to take notes, I’ll create a new folder if an existing one doesn’t perfectly match up to the context. 

For example: If I didn’t attend a conference, but watch a recording of a conference video, and don’t plan on watching the other conference videos – maybe there’s only one speaker I’m familiar with or interested in, or the other videos aren’t super relevant to anything I’m currently working on – does that go into my conference notes? My webinar notes? The answer I’ve been working with is “I have no idea” and “I’ll re-organize things later.” 

I’ve never reorganized my notes. Once I place them somewhere, there’s about a 10 second window to move it before it’s essentially cemented in place forever. I’m just never going to find the time to reorganize a huge portion of my notes, especially if they aren’t notes I’m going to be immediately reviewing. Which means that when I eventually do want to review them, I need try a handful of different searches before I finally find the correct page, and then the actual piece that I want to refer to is usually buried somewhere inside the page. It works, but it’s annoying, and it’s difficult to surface info immediately when I want it.

What I actually want is have my notes sorted by topic – such as information architecture, content strategy, or other sub-categories of UX design.

So with that goal in mind, I’ve been exploring the current generation of notetaking apps. Note taking apps are very popular right now and there are very many of them. 


Notion is a wonderful notes app for organizations, with its main feature being the ability to nest notes inside of notes. This means that for organizations using Notion, they may have a page that serves as a table of contents for the org, then have a note that lead’s to a department’s page, and then that department’s page can have a list of all their relevant notes. While OneNote has folders and nesting, OneNote is limited to about 3 levels of hierarchy – Workbooks, Folders, and Individual Notes (Individual Notes is not the official Microsoft™ name for them, but it’s the name I’m going to use).

In contrast to OneNote’s three levels of hierarchy, notes in Notion can be infinitely nested. There is a parent “Workspace” page that acts as a folder for pages, and then each page serves as both a pages for notes as well as a folder holding or linking to other pages. From there, it’s turtles all the way down, and pages can continue being nested within each other.

Practically, I don’t think it makes much sense to go more than about five levels deep – the sidebar on the left acts as the primary navigation between pages, and it grows increasingly cluttered as more pages are nested.

I really like Notion, and it has a ton of quality of life features that a pleasure to use. My favorite feature is probably the / or backslash key being a hotkey for a quick menu that lets you insert headings, subheadings, tables, bullets, and links to other pages.

However, while I think Notion is an amazing solution for maintaining documentation within an organization, and has features such as kanbans and @mentions that are a huge benefit for teams, Notion doesn’t really solve my problem of not knowing how to organize my personal notes.

Screenshot from one of the default pages in Notion

Roam Research

Roam Research is the tool that I’ve been using for about a month now, and it’s been incredibly powerful. Similar to Notion, each page in Roam can link to other pages in Roam. But what makes Roam unique is that it has no folders or hierarchy. Instead, navigation is done entirely through hyperlinks and search – which sounds like it won’t work, right? But if you use Wikipedia as a frame of reference, it works just like that. The app essentially makes a personal wiki of anything you type as you type it. 

It’s neat. It’s cool. I’m a fan.

In Roam, pages are created by using double opening and closing brackets, such as [[Page name]] , and anything inside those brackets is a page. Did a page with that title already exist? Congrats, that page is linked to the current note you’re typing. Did a page with that title note exist? Congrats, that page is created and linked to the current note you’re typing.

It’s very convenient, and it works very well. Additionally, Roam will automatically create backlinks between a [[Page]] and the text block where the page was mentioned. So, if I’m speaking with a UX strategist, and they mention information architecture, once I type [[Information Architecture]] then that block will appear become linked to my Information Architecture page. From then on, any time I visit my page for IA, it will have any content that I’ve manually added to that page as well as show a preview containing linked blocks of text, as well as links to the parent page that text blocks live on.

Pages themselves have essentially have three tiers of information:

  1. Page notes – Content that’s manually been inserted on the page (meaning anything you’ve manually written or linked)
  2. Linked notes – everything that you’ve intentionally referenced and connected to that page, by using [[brackets]] or tags
  3. Unlinked notes – anything that uses the same words as the page (such as information architecture) but wasn’t wrapped in brackets, so was not linked

This. Is. Awesome!!! 

Back to my original problem in OneNote, this means that once I start making a note, on the very first line I can just write something like [[webinar]] [[conference]] [[content strategy]] and the note will instantly be linked to all those pages. Essentially, I don’t have to ever pick a single folder to place a note inside of – I can quickly link it to everything I would ever want to reference it under. Notes from lectures in a multi-week program can be linked as something like [[lecture notes]] [[school – week 1]] [[journey mapping]] [[multi-touchpoint experience]] [[feature scoping]] , instantly have quick access to that lecture under any of those pages. Additionally, I could further link individual blocks of text inside of that page, so that the [[journey mapping]] page will contain all the specific blocks related to journey mapping, as well as links to the entire lecture page.

As an example of how autolinking works, here’s a screenshot from the page created by the Author tag that I’ve been attaching to books. Once I create a page for a book, I add the author, which then turns the Author page into a tidy list of books in my database connected to the authors. Aside from the two blank bullet points, this page was created entirely from linked references.

Screenshot of the Author page in my Roam database, which is automatically linked to every page where an [[Author]] or Author:: tag appears

It’s the most natural, flexible note taking software I’ve ever used, and the app is fundamentally exciting to work in. Every single link to a page is basically a pat-on-the-back moment that makes you say “Gosh, I linked that note so well, I’m so good at storing information.”

Here’s another example from a resources page that I’m building:

Screenshot from my [[Design Resources]] page

This page starts with a backlink to my more general [[Resources]] page, and then lists items and resources that I’ve been collecting and adding to Roam. I’ve been using pages like this as a replacement for browser bookmarks. I really value that Roam lets me easily add context to any links I include, like where I found something from or what I would want to use something for.

From the above screenshot, if I click the hyperlink for [[Life’s a Pitch]], it takes me to the page I’ve set up for the notes I have for that book. Here, each bolded bullet point is a chapter title + chapter number, and bullet points can be collapsed or expanded to show the notes nested beneath it.

Screenshot of my notes for the book “Life’s a Pitch” by Roger Mavity and Stephen Bayley

Additionally, you can use Roam’s hyperlinking and backlinking to create Table of Contents pages that serve as a collection of links related to a central topic.  In the image below, I have a table of contents for Design Systems, which links to the different pages I’ve created to manage info about design systems, and is also linked from my more general [[Design]] page.

Screenshot of my table of contents page for design systems

I’m really enjoying my experience with Roam so far, and I’m looking forward to gradually moving over notes from OneNote into Roam, and seeing that connections that come from that. My current process is copy and pasting notes over, reviewing them, and then revising the notes to add or create page links where relevant. Reviewing notes with this process is a great way to internally synthesize the information, creates consistency within my database, and builds a web of information that I can easily refer back to.

However, in spite of how much of a fan I am, it’s a difficult app to recommend. 

There is essentially zero official documentation – there is a white paper published by the startup founder, basically evangelizing why this method will make you a genius. It repeatedly uses the buzzwords “networked thought” as though that phrase has meaning. Googling for help will return forum posts of users shouting “zettelkasten” at each other. To learn Roam, you essentially need to reference multiple 3rd-party fan sites, all of which have the same evangelical tone about note taking, and requires filtering through those articles just to find a simple list of features and commands.

Other features show a lack of care or attention, or are simply targeting user groups that I don’t fall into. Like Notion, it has a / hotkey for common commands – but that list is filled with things like code blocks for Julia and LaTeX (two fairly niche programming languages), while things like H1, H2, H3 headers are completely absent. The only way to insert headers is with option+cmd+1, 2, 3, or 0, which are essentially two-handed hotkeys, and are difficult to use regularly. This sounds like a minor thing, but headers are one of the easiest ways to establish some sort of organization and hierarchy to a page of information. Not being able to easily use them drastically increases the amount of effort required to organize any pages.

Additionally, I’m not a fan of the way that Roam does onboarding, marketing, or the general way they pitch the service. “A system of networked thought using the zettelkasten method pioneered by Niklas Luhmann.” is just not a good a pitch. Something like “Automatically makes your own personal wiki just from typing notes like normal.” or “Never waste time and energy deciding what folder to put your notes in.” would have made me adopt it much sooner. 

Despite my gripes, Roam’s core functionality is unique, beneficial, and incredibly convenient to use. Even with its flaws, I’m a fan.

Roam resources:

Roam Research: a new way of working with qualitative research data – This article article covers using Roam for qualitative UX research, by using Roam’s linking to consolidate interviews, find themes, and assemble a findings report from those themes. It also goes into using some intermediate/advanced features like tags.


Using Templates in Roam Research – Goes into detail about how roam is structured, what the common commands are, what to use them for, how to create templates, and just in-general a good reference:


The complete list of Roam Research keyboard shortcuts & markdown – This is an incredibly useful list, and I cannot believe it is not part of Roam’s official documentation. Some commands are listed within Roam itself, but a huge portion of common commands are unlisted within the official documentation. The only way to find this information through Roam’s official website is by scouring every snippet of their release notes, which is about as inconvenient as possible. This is a great reference until their official documentation catches up to their latest releases.