A basic project workflow

Hey everyone,
I am working on a project for my MSc and I came up with the Emacs Conf series on YouTube and org-roam. I would like to ask, how should be a very basic workflow with org-roam for a research/project?

Some basic questions I have till now:

  • Do I have to put everything (papers, files, etc) into org-roam-directory (one file)?
  • Till now I am working with org-ref and org-bibtex, I read that org-roam uses them too, if I understood, do I need to change something else?

No, just the notes (org files).

It should interoperate nicely without affecting your current setup.

Cool, thank you for your reply!

What kind of research are you doing? Does it involves data analysis using R or Python, for example?

Yes, it does. I am working on linguistic biases in Wikipedia’s biographies. I am using IPython blocks.

Sorry for the slow answer. This is how I have my folders set up.

  1. Each project has its own folder, with a structure like this (I have many projects)


The exact structure depends on the project, of course. In the main folder I keep a single org-mode file for that project:


In that file I keep taks and TODOs (I include that file in my org-agenda-files). Until recently I kept the code for the analysis in that project as source code blocks in that file (I program in R). Now I switched to keep separate files with my scripts:


I use git to keep the files of each project under version control, and use projectile to quickly jump around files in each project.

I have a single folder with all my pdfs:

I also have a separate folder for my org-roam notes. I keep zettlekasten-type notes and literature notes in two separate subfolders:


In this way when I search for a note I can select in which kind of note to look.

Hopefully this will give you some ideas.

Thank you for your reply @jmburgos . I have more or less the same structure.

  • I keep all the pdfs along with the references.bib file in one folder,
  • Each project has its own directory the way you presented above but also I keep source code blocks inside my deliverable file,
    I have some questions. Have you created backlinks to your deliverable file or your Project1.org? Have you added every project folder to your org-roam directory? And please could you give an example of “literature notes” and “zettlekasten notes”?

Hi @EvanMath

I do not have backlinks to my project files (e.g. Project1.org). I tend to distinguish between the content of my project files, with is more “operational” (TODO lists, very project-specific notes, etc.), and the content of my org-roam files, which is use as a more long-term “knowledge database” . That is why I do not put my project folders into my org-roam directory. I also do not put my org-calendar files in my org-roam directory. Quick notes that I take sometimes into my calendar file (or using a capture template into my inbox.org file) may be processed into org-roam notes if I think it is something I want to keep in my knowledge database.

About literature vs zettlekasten notes, Niklas Luhmann’s methodology distinguishes between both types. Literature notes are the notes you take when reading a paper, for example. These are very concise, saying for example “page 5 says that cross-validation is not a good methodology for model evaluation”. Then you are supposed to process these into more permanent notes, written in full sentences in your own words. These are the “zettlekasten” notes. Here is a good explanation:


I recommend that you take a look at Andy Matuschack’s note system, which is on-line here;

I got a lot of inspiration about note taking from him, in particular is taxonomy of note types:

1 Like

Thank you @jmburgos for sharing all these with me. I will have a look.