Blog
Prefixes: A Tiny System That Works
2025-11-14
Gravity has no tags. I've written about why—tags create taxonomies, taxonomies require maintenance, maintenance becomes the job instead of the thinking.
But here's the thing: sometimes you do want to filter. You want to see just your todos. Or just things you meant to read. Or just ideas you're marinating on.
So how do you get filtering without a tagging system?
The answer is almost embarrassingly simple: you type a prefix.
By the end of this post, you'll understand:
- How prefixes give you 80% of tag functionality with 0% of the overhead
- The exact prefixes I use and why each one earns its place
- Why "just text" is more powerful than metadata
What a prefix looks like
Here's a note in my stream right now:
todo: email Jake about the API docs
Here's another:
read: https://karpathy.bearblog.dev/the-append-and-review-note/
And another:
idea: what if the archive had a separate gravity constant?
That's it. A word, a colon, then the content. No dropdown menu. No autocomplete. No tag database in the background. You're typing characters into a text field—the same thing you do for every other note.
The difference: now you can search for todo: and see only your todos. Search for read: and see your reading list. The prefix becomes a filter, but it's not a system. It's just text.
Why not just use tags?
Fair question. Tags seem like the proper solution here. What's wrong with a real tagging system?
Three things:
1. Tags require consistency you won't maintain.
Is it #todo or #todos? #toread or #to-read or #reading-list? In a tagging system, these are different tags. You have to remember which one you used, or you have to go look it up, or you end up with 5 variations of the same concept scattered across your notes.
Prefixes have the same problem in theory. But in practice, you only use 3-4 prefixes, they're short, and you type them constantly. Muscle memory handles consistency. I've never accidentally typed todoo: instead of todo:.
2. Tags feel like an obligation.
When an app has a tagging feature, there's an implicit expectation that you'll use it. Every note becomes a question: should I tag this? What tags apply? The feature creates cognitive overhead even when you don't use it.
Prefixes are optional in a different way. They're not a feature—they're just a convention you might adopt. If you don't use them, nothing looks broken. There's no empty tag field staring at you.
3. Tags are metadata. Prefixes are content.
This is the subtle one. A tag lives in a separate layer from your note. It's attached, but not part of the text. Which means it can get out of sync—the tag says one thing, the content evolved into something else.
A prefix is the first word of your note. It's not metadata about the note; it's part of the note. When you read your stream, you see todo: email Jake as a single unit. The prefix isn't hidden in a sidebar or a hover state. It's right there, doing its job in plain sight.
The prefixes I actually use
I've settled on 4. Each one earns its place by being useful at least weekly.
todo: — Something I need to do. Not a full task management system (Gravity isn't for that), but a quick capture of "don't forget this." When I review my stream and see a todo: that's done, I archive it. When I see one that's still relevant, I bump it.
read: — A link or reference I want to get to later. Could be an article, a paper, a YouTube video. The prefix means "I found this interesting enough to save, but I haven't consumed it yet."
idea: — A half-formed thought I want to marinate on. Not actionable yet, not a reference, just something that might become something. These are the notes most likely to sink and stay sunk—which is fine. The good ones resurface.
buy: — Things I want to purchase. Mundane, but useful. When I'm about to order something online, I search buy: and see if there's anything I've been meaning to get.
That's the whole system. Four prefixes. Each one is short enough to type without thinking. Each one filters a distinct category of note. And if I capture something that doesn't fit any of them? I just... don't use a prefix. The note goes into the stream like everything else.
Hold up—what if I forget to use a prefix?
Nothing breaks.
This is the key difference from a tagging system. If you forget to tag something, it becomes invisible to tag-based searches. You've created an orphan. The system has a hole.
If you forget to prefix something in Gravity, it's still in your stream. You'll see it during review. The only thing you lose is the ability to filter for it specifically—but since you're scrolling through everything anyway, it'll surface naturally.
Prefixes are additive. They make filtering possible when you want it. But they're not load-bearing. The stream works without them.
Why this compounds
Here's what happens over time:
You develop muscle memory for your prefixes. todo: becomes automatic for anything actionable. read: becomes automatic for any link. You stop thinking about whether to prefix—your fingers just do it.
Meanwhile, the prefixes start working as filters. You're about to run errands and you search buy: to see your shopping list. You have 20 minutes to kill and you search read: to find something interesting. The filtering is instant, zero-friction, because there's no system to navigate. Just text search.
The habit compounds because the payoff is immediate and the cost is near zero. You're not maintaining anything. You're not worried about consistency. You're just typing a few extra characters when it makes sense—and those characters pay you back every time you search.
Getting started: try this today
Pick one prefix. Don't start with four. Start with
todo:orread:—whichever matches how you already use notes.Use it for a week without filtering. Just get the habit of typing the prefix when it applies. Don't search for it yet.
Then search. After a week, type your prefix into search and see what comes up. That's your filtered view—no setup required.
Add a second prefix only when you feel the need. If you find yourself wanting to filter a different category, add a prefix for it. If you don't feel the need, don't add it.
The goal isn't to have a complete taxonomy. The goal is to have exactly as much structure as you actually use—and no more.
Prefixes are just text. Use them if they help. Ignore them if they don't.