The plain-text to-do list that finally stuck
I have a graveyard of productivity apps. I'm not proud of it, but here's the honest list: Things (twice), Todoist (three separate accounts because I kept "starting fresh"), TickTick, Notion with an elaborate database I spent a whole rainy Sunday building, Org-mode for about six weeks, and one period where I genuinely tried to run my life out of Apple Reminders. Every single one worked for a while. Every single one quietly collapsed.
The pattern was always the same. Week one: I am a god of organization. Week three: I'm avoiding opening the app because there are forty-one overdue items glaring at me in angry red. Week five: the app is a museum of who I thought I'd be. I delete it, feel a little lighter, and start the cycle again with whatever's trending on Hacker News that month.
What finally stuck is embarrassingly small. It's one text file. It's called todo.txt and it lives in my home directory. That's it. That's the post, kind of. But let me tell you why this one didn't die.
The whole system
Here is the entire thing. No app, no sync service I pay for, no schema.
# now
- [ ] fix the timezone bug in the billing export
- [ ] reply to Dana about the Q3 staffing thing
# soon
- [ ] renew the domain (expires july)
- [ ] descale the espresso machine, it's getting slow
# someday
- [ ] read that Patricia Lockwood novel everyone keeps mentioning
- [ ] try the no-knead bread again but actually wait the full 18h
# done
- [x] book the train to Ljubljana
- [x] cancel the gym I never go to
Four headings. Now is what I'm actually doing today or tomorrow, and I keep it to five lines max. If a sixth thing wants in, something has to graduate out of now or I'm lying to myself. Soon is the next week or two. Someday is the honest dumping ground — the place where ambitions go to either marinate or quietly die, and both outcomes are fine. Done is a little dopamine archive I let grow for a week and then clear.
Why this one survived
I've thought about this more than is reasonable, because I genuinely wanted to know why the dumb file beat the beautiful apps. A few reasons.
There's no friction and no guilt
The apps all had a subtle accusatory quality. Due dates I set optimistically became overdue, and overdue items have a color and a count and they follow you. My text file doesn't know what day it is. Nothing turns red. An item sitting in someday for four months isn't a failure, it's just an item sitting in someday. Removing the machinery of guilt turned out to matter more than any feature I ever wanted.
It opens in under a second
I have alias t='nvim ~/todo.txt' in my shell config. I'm in a terminal all day anyway, so the list is always one two-keystroke command away. No splash screen, no "syncing…", no cookie banner, no app deciding it needs to show me a what's-new modal. The lower the activation energy, the more I actually use the thing, and a to-do list you don't open is just a diary of intentions.
It's mine and it's portable
It's a text file. I can grep it. I can pipe it. I sync it across machines with the same boring method I use for everything else, and if every company that ever made a task app vanished tomorrow, my list would be completely unaffected. There's a real calm in knowing the format will still open in fifty years. Plain text is the cockroach of file formats and I mean that as the highest compliment.
The best tool is the one you don't have to think about using. Every minute I spent "organizing my system" was a minute I wasn't doing the actual thing on the list.
The small rituals that make it work
The file alone isn't magic. The two habits around it are what keep it alive:
- The five-line rule for now. This is the whole discipline. A short list is a true list. The moment now sprawls, it stops being a plan and becomes a wall of noise I learn to ignore — which is exactly how every app died.
- Friday cleanup, two minutes, coffee in hand. I make a pour-over, open the file, delete the done section, and move anything from soon that's gone stale down into someday. I don't reorganize. I don't add categories. I just prune. That's it.
I deliberately resisted turning this into a project. There's a whole todo.txt ecosystem with priority codes like (A) and +projects and @contexts and CLI tools to query it all, and part of me — the part that owns three espresso grinders for "different roast levels" — really wanted to go down that road. I didn't. Every bit of syntax I add is a tiny tax on writing things down, and the tax is the thing that kills these systems. The whole point is that there's nothing to maintain except the work itself.
Eight months later
I started this file last October. It's still here. It's the longest any to-do system has survived contact with my actual life, by a wide margin. Some weeks the now section is pristine and I feel like I have it all together. Some weeks it's three days stale and I forgot it existed entirely. But the difference is that going back to it costs me nothing — there's no shame spiral, no overdue count, no app I'm embarrassed to reopen. I just type t and I'm back.
I'm not going to tell you plain text will fix your life, because the honest truth is that no system fixes anything — you still have to do the staffing email and descale the machine. But if you've also got an app graveyard and you're tired of redownloading hope every few months, try the dumbest possible version first. One file. Four headings. See how long it lasts. Mine's still going, and for once I'm not waiting for it to fall apart.