Olivier Bourgeois

Olivier Bourgeois

Software developer with a focus on cloud, back-end development, and developer experience.

Blog / Two years with Obsidian: How notes changed the way I store information

Quick intro on the note-taking app Obsidian, how I use it, and my takeaways.

February 09, 2025 7 min read #productivity, #obsidian

Two years with Obsidian: How notes changed the way I store information

I’ve been storing and keeping track of information in various ways for a long time. First using physical notes, then simple digital text files, and finally I jumped from app to app as I encountered issues that irritated me that I had no control over.

Near the tail end of 2022, I came across what I thought might be the answer to all my woes: a note-taking app built by a small team, with the name of Obsidian.

What’s in an Obsidian?

Obsidian is a multi-platform note-taking and writing app. Simple enough. But aren’t there plenty of those around? Yes absolutely, but they each have downsides that I wasn’t able to settle with long-term. With Google Cloud it was the difficult of linking between notes (this has improved since but it’s still not quite what I want). With Evernote my notes were in a proprietary format and stuck in the cloud. Notion also had the cloud-first problem and stored in an awkward non-standard Markdown format. And the list goes on.

Here’s what Obsidian provides that sold it to me:

Screenshot of my Obsidian vault opened on the graph view Screenshot of my Obsidian vault opened on the graph view.

Why store information?

The way people interact with pieces of information is very personal and differ from person to person, but these are the main reasons I’ve been maintaining a repository of notes over the past decade or so:

So with that said, what are the kinds of notes that I have in Obsidian? Glad you asked! Here’s a non-exhaustive list (in no particular order) of different note categories, with some examples for each:

Screenshot of a note I created to act as an overview of my personal notes A note I created to act as an overview of notes about me.

Templates to reduce repetition

The first community-built plugin that I ended up trying out was QuickAdd. This plugin allows you to create custom commands in the command palette configured to duplicate a specific template note. This means that you could create for example a note called “New trip template” and configure a command called “Add new trip” which would duplicate that particular note and open it for you to fill out as desired.

In my Obsidian vault I’ve set-up many of these templates which both saves me a lot of time, and ensures consistency between notes of the same category / type. When I open the command palette and search for “QuickAdd”, they all show up:

Screenshot of the command palette showing QuickAdd A few of the QuickAdd commands I have set-up.

Let’s say I’m going on a trip soon. I select the Add new trip command, enter a name (“Trip to the Land of OOO”) and a note is automatically created, stored at the expected location, with the relevant template (both the YAML metadata and the Markdown note itself) ready for me to fill out!

Screenshot of a generated trip built from its template Looking forward to my upcoming trip to OOO!

Since templates mean I get to create a lot of notes really easily, I wanted to prevent an potential issue where my directories would be full of notes of all kinds mixed together. To solve this, I have the templating plugin set-up to place the notes in a relevant _items/ directory within the root-level category directory. This allows me to easily find the non-templated notes (in this case, something like “Packing list”).

Screenshot of the directory structure of my vault, showing the Trips notes The directory structure of my vault, showing the Trips notes.

Scripting to leverage external metadata

One of the advantages of using a local-first notes app with an open portable format is that I can easily interact with the notes outside of the note taking app itself. This means that I can, among other things, build custom scripts or pipelines that can create or modify notes.

I currently do this for three types of notes:

Screenshot of the Back to the Future note after injecting IMDb metadata The Back to the Future note after injecting IMDb metadata.

Querying notes to render tables

Something that I missed after having used Notion for a few years was the ability to create rendered tables out of notes with custom columns, filters, and sorting. Obsidian doesn’t have that built-in (though it is on the roadmap), but there is a community-built plugin called Dataview that offers most of what I was looking for.

Dataview works by parsing code blocks starting with ```dataview containing what they call Dataview Query Language (it’s essentially SQL) and renders them based on that query. The query contains statements allowing you to do parsing, filtering, sorting, and grouping. It even has some limited support for expressions and function-calling.

I currently use Dataview for rendering tables of my media backlog, trips, and events.

Below you’ll find an example of a Dataview table note I created and how it renders. The query essentially translates to: build a table with three columns (title, year, rating) made up of all notes of category “films” (excluding the template note), and sort by IMDb rating.

table without id
    string("[[" + file.path + "|" + title + "]]") as Title,
    year as Released,
    apiRating as "IMDb"
where
    contains(category,[[Films]]) and
    !contains(file.name,"template")
sort apirating desc

Screenshot of the "Films by IMDb ratings" table The rendered table for films* sorted by IMDb user ratings.

*Yes I know, I need to get to Coppola’s The Godfather trilogy sometime.

Journaling to clear my mind

I have a confession to make. Before 2024 I’d never try journaling. I decided to give it a try early last year and it’s been useful so far! It helps me remember what I do on a day-to-day basis, track illnesses like the flu, and put nagging thoughts in order. On that first point, it’s already helping me quickly answer questions like “when was the last time I chatted with so-and-so, and what did we talk about?” (the search and the backlink functionalities of Obsidian doing the heavy-lifting).

Since I was planning to do journaling every day, I wanted to make the process as streamlined and easy as possible for me, as to remove any cognitive friction that would push me towards skipping a day (or ten). This is the workflow I ended up building:

Screenshot of the Calendar plugin Screenshot of the Calendar plugin.

Screenshot of the template I use for daily journaling The template I use for daily journaling.

Takeaways

And now, two years with Obsidian, here are my takeaways:

I even have a small backlog of improvement ideas for the future:

If you use Obsidian, or if you are thinking of giving it a try, I would love to hear how you approach note-taking!