When I started using Obsidian, it was a niche tool for people that were into Zettlekasten and Dark Mode. The Obsidianmaxxing scene seems to have migrated from Second Brainers to the AI technorati, given my mates were chatting about connecting Claude Code to Obsidian via MCP1. I blame this on Obsidian’s file-over-app philosophy that works out of the box with tools like Claude Code, and Karpathy’s LLM Wiki concept.
I will personally never let AI roam around my Vaults. I think the best thing about the use of Obsidian is curating the content and notes I’m taking the way I want it. Letting LLMs draw connections between concepts defeats the purpose of learning and structuring things the way they work for YOU.
There are multiple, hour-long videos on Youtube teaching you how to Zettelkasten, but here is what I do:
Completely ignore folders.
Don’t try to create folder ontologies around your concepts. Use folders them purely for your workflows. Link concepts together via the [[]] Obsidian links instead.
How I structure:
.
├── 0 - Rough Notes - scratch
├── 1 - Source Material - web-clippings, book reports, ...
├── 2 - Topics - topic-pages (more on this later)
├── 3 - Indexes - Dataview Indexes
├── 4 - Blogs - My blogposts (rsync-ed to Hugo repo)
├── 5 - Main Notes - Everything, all my notes
├── 6 - Organization - Obsidian Canvases, Bases, Dashboards
├── 9 - Attachments - anything inserted / pasted
├── 9 - Scripts - JS scripts (like translation)
└── 9 - Templates - all templater templates
The numbering helps with ordering.
Use topic pages
I have 2 - Topics/Backpropagation for example. Whenever I create a new note, I can simply add
---
topic: [[Backpropagation]]
---
and this note will now appear as a Linked Mention at the bottom of the 2 - Topics/Backpropagation file. (you need to turn on backlinks in the config)
When these notes get developed enough, they can also hold their own text, which I find to be a better way of doing things compared to the MOC concept.
Make Obsidian a database
Use the builtin Obsidian Bases + the Dataview plugin.
If you pair it with Templater, you can create Templates like this:
TASK
FROM "5 - Main Notes"
WHERE !completed AND due = date("<% tp.date.now("YYYY-MM-DD") %>")
which evaluates to
TASK
FROM "5 - Main Notes"
WHERE !completed AND due = date("2026-06-25")
and effectively gives you a “Tasks due today” view in your Daily Notes.
Hope this helps. My full config is available here: bogdan/dotfiles
why would you do this? it’s literally just markdown ↩︎