My fixation for the last two or three weeks has been on Personal Knowledge Management (PKM). I've used notes apps for years — Obsidian, then UpNote1, then Notesnook2, and now Obsidian again — but I never felt like I was truly managing my knowledge. It was always just disparate parcels of information organized into broad categories.
Every 1.5 years or so, I get this itch to migrate to some shiny new thing. This time around, Capacities is the one that caught my eye — the idea of object-based PKM3 seemed blindingly obvious. Unfortunately for me, I am distrustful of free services, and I'm just not willing to pay $10/mo for what is still essentially, y'know, a notes app. I would probably be using Capacities right now if they would just let me pay them $5/mo as "please don't screw me over" insurance4, but I digress.
Enter Obsidian (again) #
I already had some prior experience with this app, from way back when I was doing dual credit classes in high school. It was the obvious choice at the time because I could sync it for free5 and I was reasonably fluent with markdown. I used a plugin for graphing functions, I used Espanso6 to make writing LaTeX a little easier... and as I am prone to doing, I spent lecture time tweaking my setup rather than actually taking notes.
...But this was not knowledge management. This was me trying to feel clever and productive, writing backlinks for no one.
This time, we're doing things a little bit differently. Capacities has given me a lot of great ideas and a strong desire to not spend $10/mo, which is a very dangerous combination. I've put together a selection of Obsidian plugins that (on paper) gets me most of the way there:
- Propsec — validate frontmatter against a schema
- QuickAdd — replace ⌘N with a list of object types
- Meta Bind — derive properties from other properties
- Iconic — object types get easily-distinguishable icons
- Nested tags graph — connect nested tags on the graph7
- An
objects.yamlandgenerate_configs.pyas a single source of truth
That's it!8 No fancy inline graphs or text expansions like I had in high school, and no need for Templater or Dataview to hyper-optimize the workflow; I simply don't need those things. Propsec keeps my frontmatter consistent across instances of an object, Meta Bind saves me a few keystrokes, QuickAdd and Iconic make it pleasant to use, and objects.yaml and generate_configs.py only exist to save me the trouble of making changes across several config files; ideally I'll never need to touch them again.
In practice, this works quite straightforwardly: I ⌘N to open the selection dialogue from QuickAdd and enter the first few letters of the type of thing I want to record. Crucially, I'm not thinking about what the thing is about, I'm thinking about what it is: a Bookmark, a Person, a Place, a Project, a Task, and so on. I can think about categories later, after I've considered what the note should contain.
The ritual of the daily note #
Now I get to talk about my actual thesis.
This is what I think is so compelling about this system, and it's a big reason why the Capacities model works for me: everything goes in the daily note first. The most important thing, the goal that any note-taking app should strive for, is to get you to actually write the thing down in the first place.
I'm often quite a scatterbrained person. I spent a significant portion of my workday yesterday walking back and forth between two rooms because I kept forgetting what I had set out to do. So, you can imagine that failing to write something down immediately often results in that thing being lost (unless I'm lucky enough to remember and immediately write it down this time). Daily notes substantially improve this for me: Obsidian is configured to open to today's daily note, so it's never more than a click or tap away. I just write down what's on my mind and get back to whatever it is I was already doing. I can worry about bringing that information into the rest of my system later, when there are fewer distractions.
My daily note template has a processed: false property in the frontmatter. That comes in handy, because I can use a base to sort my daily notes by whether or not they've been processed (i.e. broken down into discrete notes and tagged appropriately). Maybe I've had a busy few days and I've been too tired to process my daily notes; no problem, I have a table that puts my unprocessed notes right at the top, and it's a piece of cake to revisit those when I have the energy. I mark the note as processed: true when I'm done with it, nothing gets lost, and everything is neatly organized for future recall or backlinking.
Why "ritual"? #
I think of daily notes as a ritual rather than a habit for two reasons:
- My notes deserve my active attention, not just my subconscious working on auto-pilot.
- If I can't give my notes the attention they deserve, I don't have to worry about processing them right away; the information is still there, ready when I am.
A habit implies that you are acting with regularity and often without conscious effort. Now, there are plenty of healthy habits that I would like to develop, but PKM is not a habit, it's a ritual, and it happens best when I'm of sound mind and body. I'll make better decisions about how to structure and tag my notes, and putting conscious effort into processing my daily notes makes it more likely for me to retain that information in my own memory. In turn, this makes it more likely for me to write backlinks to preexisting information, which in turn deepens my cross-domain understanding. That's particularly powerful for someone such as myself, who lives at the intersection of many disparate disciplines (but isn't especially good at any of them).
Was it worth the effort? #
I won't lie; I spent a week straight getting this just the way I wanted9, and it's still not perfect. Propsec does the job, but some constraints are impossible to specify (at least, that I can tell). Meta Bind is really useful, but I don't exactly love having an invisible code block at the top of my notes. And of course, I'm still refining my objects.yaml, trying to keep the number of unique objects small and the list of properties svelte; I'm trying to minimize complexity and maximize expressiveness, to the extent that such a thing is possible.
That being said, I'm quite happy with the state of things. I feel like this object-based structure really clicks in my head in a way that a normal folders-as-categories structure never did. I'm still moving some stuff around, looking for even more opportunities for minimalism, but I do see myself making good use of this system (and gawking at the cool graph) for the foreseeable future.
Should you do this? #
I don't know. The best PKM system is the one that works for you. Try stuff out, get your hands dirty. I for one have never tried org-mode or Zettelkasten or PARA, and if any of those sound appealing to you, go nuts. You don't need a $15/mo walled-garden SaaS with a built-in AI chatbot10; if you have a text editor and a file system, you have a note-taking app. If you have some paper flash cards and a box to organize them in, that's a vintage Zettelkasten right there. If you take anything away from this article, it's that just writing stuff down is the single best thing you can do for your personal knowledge management. That can be your ritual.
-
The lifetime option is great for people who just need "a good notes app", but I decided to migrate away because there is technically nothing stopping them (or a threat actor!) from reading all of your notes. ↩︎
-
I chose Notesnook over Standard Notes because the pricing for the latter is, frankly, absurd — but Notesnook is not just "SN lite", and I'm happy to recommend it. I only left because a system like mine isn't really possible with the app's current featureset. ↩︎
-
Notes represent things — people, places, projects — with specific metadata, and #tags are used for categorization. ↩︎
-
I think it's amazing that Capacities can remain independent while offering such a generous free plan, but I'm not sure how long that can last given that the AI industry is causing a global increase in the cost of computing resources. My notes should not be caught in the crossfire. ↩︎
-
Via git to a private GitHub repository, but this was a huge pain in the ass. I don't recommend it; it's absolutely worth it to me to pay $4/mo for Obsidian Sync if it just works (which it does). ↩︎
-
Cross-platform text expansion app (e.g. "omw" → "on my way"). I just use Alfred for this now. ↩︎
-
I don't know why Obsidian doesn't have this built-in. ↩︎
-
I'm omitting the strictly cosmetic stuff for brevity. ↩︎
-
Well, in all fairness, a substantial portion of this time was spent manually breaking up and reorganizing my existing notes into objects. ↩︎
-
For the record, my em dashes are au naturale. I have a text expansion set up for them. ↩︎