Chase AdamsChase Adams
AboutContentPromptsPrototypesNewsletter

My Heuristic For Notes and Tags In Obsidian

Essays and updates on product, engineering, and AI by Chase Adams.

2 minute read

A lot of people ask me about my Obsidian setup and one of the most often asked questions is: "Do you prefer notes or tags for everything?"

My answer has always been "it depends."

I decided that I'd share my "it depends" heuristic to give others insights into how I think about when to use which one and why (In my example).

The single heuristic I use for if something should be a note or a tag is "is this an abstract or concrete term?"

As an example, let's say I am doing a What Is a Remote Design Sprint? at Murmur Labs and I want to capture an insight for the retrospective, here's how I would go through the process of capturing if both the Sprint and the Retrospective are new concepts in my Personal Knowledge Management System.

Capture the insight as a list item in my daily page. As an example: "- The flow of capturing questions asynchronously was awkward."

This is a list item captured for the concrete sprint about its Retrospective.

This one is tricky, because at first blush, it seems like the retrospective should be concrete, but I only need to capture that it's for a retrospective that is specific to this sprint.

In this case, I would create a note for the Sprint ("Sprint WK12", for example) and tag it with #retro because I want to connect this specific Sprint with any notes about its Retrospective.

Now when I view the specific Sprint note, I can have a view that finds any items across my notes that references the note "Sprint WK12" and has a tag of #retro.

Heuristic

  • Is it a concrete object/event? If it is, it should be a note. Things that satisfy this would be "My House", "A Meeting on Thursday", "Some Specific Sprint", "The Surprising Power of Liberating Structures (Book)"
  • If it's not, it's probably abstract and should be a tag. Things that satisfy this would be "retro", "meeting", "book", "task".

Example of How This Heuristic Helps Me

The reason I find this useful is that I don't usually find myself writing queries for just abstractions of objects/events.

I usually refine a query for a concrete object or event with the abstraction ("Show me all items tagged #retro for this week's sprint.").

An example of the code for this DataView would be:

//```dataviewjs
dv.list(dv.pages().file.lists.where(t => t.text.includes("[[WK13 Sprint]]")).filter(t => t.text.includes("#retro")).map((t ) => t.text))
//```

I could take that even further and use a subtag for #retro, such as #retro/dislike.

This would allow me to organize my #retro notes by "like", "dislike", "change".

If I wanted to see all retro items in some other note, I could use the same DataView JS query without the initial includes for the sprint, then refine it as necessary.

Post Details

Published
Mar 26, 2023
Share
ChatGPT

Latest Posts

Building Tooling for Engineering Teams

Building Tooling for Engineering Teams

From Sherpa at Zappos to Webflow HUD, I've spent my career building tools that make other builders faster. Here's how I approach it.

AboutAI Workflow SpecContentStacksNewsletterPromptsRSS