Building a Personal Knowledge System with Obsidian
I’ve tried many note-taking tools over the years. Obsidian is the one that stuck. I’d prefer something open source, but nothing in that space has matched Obsidian’s speed, flexibility, and local-first design.
This post walks through how I use it. Keep what’s useful to you, discard the rest.
Why Obsidian
- Plain markdown files — notes are
.mdfiles in normal folders, editable with any text editor - Portable — if I stop using Obsidian, the notes remain usable without conversion
- Local-first — no account required, no server dependency, I choose how to sync (or not)
My one complaint: the search is weak. I’ve tried plugins like Omnisearch but it’s still not great.
Plugins
I only install plugins when I hit a concrete problem, not because they look cool.
| Plugin | Why I Use It |
|---|---|
| Dataview | Query notes like a database—list meetings, tasks, or notes by tag/date |
| Templater | Templates with variables for recurring note types (daily notes, meetings) |
| Advanced Tables | Makes markdown table editing tolerable |
| Excalidraw | Quick sketches of systems, workflows, or UI ideas |
| Natural Language Dates | Convert “next Tuesday” into actual dates |
| Waypoint | Auto-generated table of contents per folder |
| Highlightr | Color-coded text highlighting |
| Iconic | Custom icons for files/folders |
Organization
I use separate vaults for work, study/learning, and personal. The work vault is the most structured—here’s its folder layout:
000 - Obsidian META # Vault configuration, CSS snippets
001 - Templates # All note templates
002 - Inbox # Quick capture, unsorted notes
003-006 # Domain-specific areas (glossaries, culture docs, career)
007 - Entities # People, teams, clients
008 - Meetings # Meeting notes
009 - Projects # Project-specific notes
010 - Tasks # Task tracking
011 - Research # Exploration and research notes
013 - Incidents # Incident reports and postmortems
014 - Software Architecture # Architecture decisions and diagrams
015 - Recurring Logs # Daily, monthly, yearly logs (organized by year/month)
016 - Automation # Scripts and automation docs
017 - Diagrams # Excalidraw and other visual assets
022 - Cheatsheet # Quick reference notes
023 - Snippets # Code and text snippets
100 - Archive # Old or completed itemsNumbered prefixes keep folders in stable order. I skip numbers so I can insert new categories later. Quick captures go to Inbox and get sorted during periodic reviews.
The Entities folder holds notes for people, teams, organizations,and projects. When I link [[Jane Doe]] in a meeting note, a Dataview query in her entity note automatically gathers all mentions—so I can see our history before any meeting.
Daily Workflow
Each workday revolves around a daily note with these sections:
| Section | Purpose |
|---|---|
| Priorities | What I intend to move forward today |
| Meetings | Notes or links, pulled via Dataview |
| Learnings | Discoveries, decisions, TILs |
| Reflections | End-of-day review |
Quick notes start in the daily note. If something becomes a long-term topic, I promote it to its own note. Monthly, I run Dataview queries to surface patterns: which projects took time, what kept getting postponed.
My templates are in this GitHub Gist.
Keeping It Simple
If a convention, plugin, or folder structure fails that test, I change or remove it.
Conventions stay stable. Dataview relies on predictable structure—consistent tags, field names, entity naming. Changing conventions every few weeks breaks queries.
Accept some mess. Not every note needs to be polished. Some are scratchpads. Some links will be missing. That’s fine—I clean things up when it becomes useful, not as a constant project.
Plain text lasts. .md files are widely supported, easy to back up, and outlive any tool.