Every programmer builds a todo app eventually
It’s a rite of passage. Somewhere after hello world and before the abandoned SaaS idea, every programmer builds a todo app. Not for a tutorial. For themselves. I’ve built, by my own count, five.
I think I finally understand why we keep doing it. A todo app is the smallest possible program that expresses a belief most of us hold quietly: my life is a system, and systems can be debugged. Miss a deadline, forget a birthday, feel scattered for a month, and the programmer brain says: this is a state management problem. So we build the minimal state manager.
Mine all died the same way. The custom app, the Notion setup, the plain-text file with its own little syntax. Each one worked for about three weeks, then decayed into a graveyard of overdue items I felt bad about.
For years I assumed the problem was discipline, or that I hadn’t found the right system yet. The sixth time around, I noticed the problem was in the data model.
A todo list stores the wrong thing
Look at what a todo app actually persists: a task, and a boolean. That’s it. When you check the box, the row is done, and done rows are dead rows. They scroll away. A month later, ten hard-won checkmarks and a day you wasted on the couch are indistinguishable. Both are just the past.
A todo list records doing. It stores nothing about becoming. You can grind through it faithfully for a year and the app has no opinion about what all that doing made of you. Zero accumulation. The checkbox resets and so, apparently, do you.
Which is strange, because accumulation is the whole reason we do anything. Nobody runs today because today’s run matters; we run because of what fifty runs become. And that’s exactly the number the todo list throws away.
Games got this right decades ago. Nobody quits an RPG because progress is slow. Progress in an RPG is visible: the XP bar moves, the stat sheet grows, the number was 12 and now it’s 13 because of what you just did. Games are honest about accumulation. Real life buries it.
So my sixth todo app grew a different output
That’s what Hotari is: it looks like a todo list on the way in, and something else entirely on the way out. You log what you did today as quests. In the evening, an AI Scribe reads your day, writes a short narrative about how you grew, and levels up five life stats: Wisdom, Body, Heart, Career, Bonds. Things you do repeatedly awaken into skills, and skills fuse into new ones.

The difference is easiest to see with one task. “Ran 5k” in a todo app: row closed, goodbye. “Ran 5k” in Hotari: Body ticks up, your Running skill gains XP toward its next rank, and the Scribe notes that you got out the door in the rain again. Same checkbox. Completely different residue.
To be clear about what it isn’t: Hotari won’t replace your work tracker. It has no assignees, no due-date shame, no Gantt anything. It’s a mirror for your life, not a project manager, and I’d genuinely tell you to keep using your todo tool for work alongside it.
The todo list wasn’t wrong
It was just answering a smaller question. “What should I do today?” is worth answering, and a todo list answers it fine. The question that kept killing my systems was the one none of them could touch: is any of this adding up?
Five todo apps couldn’t answer it, so the sixth one stopped being a todo app.
I wrote about the eleven weeks it took to build in the launch post. Hotari is at hotari.app, seven days free, no card. If you’re a programmer with your own graveyard of productivity systems, I’d honestly love to hear what killed yours.