Roam Research should be in every researcher's toolbox.

Hi there, nice to see you again!

In this post I will introduce my workflow of using Roam Research for scientific research.

Tools that you need: (1) Roam Research (link) (2) Zotero-Roam plugin (link).

My research workflow can be divided into three steps: (1) gathering information (2) reading & understanding information (3) organizing information into my own understanding framework. Step (1) will not use Roam a lot, so I will not talk about this in this article. This post will mainly focus on step (2) and (3).

Let's assume that you are a graduate student, and you just begin your research journey. Your supervisor gives you a new topic, what do you do?

You can go to google scholar and use the keywords in your mind to search for the "seed articles", then you will use them to search for other related articles by using tools like connectedpapers, and research rabbit (I will talk each of them in individual posts)

Reading a research paper

Once we have gathered a bunch of articles (usually in the range of 50 papers), then we need to input them into Roam. Since Roam is a "thinking tools", we need something to think about.

Import the paper into Roam

When I read a paper, I would use the zotero-roam plugin to import the article into Roam:

Example of the Zotero-Roam plugin UI, I just use "constant potential" as an example in here. Since I study computational electrocatalysis, to be able to simulate electrocatalytic reaction at constant potential is crucial.

Then you can click which paper that you want to import, the paper that has been already imported is shown in green dots.

The view of individual paper

Inside the block of the paper, you can click "import metadata", and then click "Go to Roam Page". You will get something like this:

Roam page of selected article

This is just some information about the paper, and the pdf related to the paper (which we will read next).

Now the most important part is adding a block called "Notes". The structure of this block is:

Structure of Notes block

This is where magic happens.

Figures + Tables

First I copy+paste all the figures and tables in here (but remember this is only for your own use, you cannot share it online, otherwise there will be copyright issue.)

Example of the Figures block
Example of the Tables block

Main text

When I imported all the figures and tables. Then I add all the text to relevant locations:

  • In the summary of the paper, usually I will have three sub-blocks: (1) abstract (2) introduction and (3) conclusion since the author commonly stated what they have done in those three areas.
  • In the background, this is all about the introduction part of the paper.
  • In the Execution details, if the paper is all about experiments, then we will have Experimental procedures, if the paper is all about theory or computation, then we will have Theoretical procedures. But these days articles can have both experimental and theoretical/computational parts, so I have both of them in here. This part is all about what methodology that the authors use.
  • In the Results block, is all about the Results & Discussion section, which is also the main body of the paper.


Since Roam Research is all about creating connection between ideas (or information in general), simply by copying the text, figures and tables into Roam is just the first step. The second step, the more important one, is creating meaningful links between this paper (literature notes) and the "slip-box" in general. So here is an example of my slip-box:

In my Roam, I put each concept into its own page. And in that page, I have a common tag called [[open topics]], blow this block, I will have several questions that I'm interested in. For example, in this case, I'm interested in why hydrogen evolution reaction is important, and what are the good catalysts for HER.

When I'm reading the paper in Roam, whenever I think some text should be related to one of the open topics, then I will create a block reference in Roam. This is why I prefer Roam than Obsidian or Logseq, although they are competitive alternatives, the stability and easeness of Roam really attracts me, also since it is a web-based tool, it is inherently cross-platform. Here is an example of the Background part:

Example of how to create meaningful connections between slip-box and literature notes

In this way we can link the literature notes with our slip-box. After doing this for 50 papers, our slip-box will be extremely helpful in our research because all the information are in there.

Another trick is that I create block reference between Figure and experimental methods. For example, if I have seen a Raman spectra, I will create a block reference to the Example part of the Raman spectra:

All the block references (examples) for Raman spectra

And since I also create block reference between Figures and Results:

The blue texts contain block references to corresponding figure, and figure are connected to specific experimental techniques

The experimental method, the figure and the text are all connected, and can be searched easily.

After all these process, we have generated the meaningful connection between our literature notes (the paper page in Roam) with the slip-box (the concept pages in Roam). Now let's go to the final step, which is organizing all the information into coherent understanding.

Making notes meaningful

In here I just use one example to illustrate the power of this workflow: the shortcoming of density functional theory (DFT):

All the linked reference to the shortcoming of DFT

If I want to summarize the limitation of DFT, then I can click this open topic, and all the information that I have read, commented are listed in here. With all these knowledge, I can generate a text with ease since most of the work (finding, thinking, understanding, organizing) have been done in step 2. Now it's the easy part, just rephase the sentences and make your own logic. Then you are good to write your own manuscript.


I hope this article helps you understand my workflow of using Roam in my research. If you have any questions or comments, please send to me an email at this address:

Thanks for reading, and see you in next post.