I ripped the color of failure
out of my calendar
The instruments meant to keep you going — streaks, completion rates, red "incomplete" markers — fire loudest at the exact moment you're about to leave.
There's a specific kind of night: you lie down having finished half your list, and the only thing your brain replays is the half you didn't. Strange accounting — on days I attempted nothing, zero brought no guilt. Only the days I tried earned me a beating.
Watching where things actually collapsed, I found a pattern. It was never difficulty. The collapse always came right after missing once. Skip one gym day, quit for six months. Break a diet at lunch, write off the day. Psychologists call it all-or-nothing thinking: facing a broken streak hurts more than deleting the whole attempt, so the brain deletes the attempt. (I wrote about the mechanism in the previous essay.)
Then I looked at my todo app and realized it was an all-or-nothing machine. Streak counters. Weekly completion percentages. A wall of red waiting after a week away. Every instrument measured how much I failed, and fired loudest exactly when I was most likely to leave. The tool built to keep me going was the thing pushing me out.
So I built the opposite. These are the actual design decisions.
1. No color for "incomplete" in the calendar
Not a lighter red — no encoding at all. A missed day renders as blank. Past-due items get a "try it" badge instead of a strikethrough: an invitation, not a debt. Opening the app after a week away should give you nothing to flinch at.
2. No denominators anywhere
The end-of-day card says "You did 3 things," never "3/40 done." There's a comment
in the codebase that reads No %, no N/M, no progress bar. Removing a
number is easy; the hard part was keeping the decision everywhere. A countable
thing begs to be counted, and every new feature tempted me to sneak a ratio back
in.
3. The celebrated event is the comeback, not the finish
No streaks. When you return after days away, the app celebrates the return instead of auditing the gap. The AI coach is explicitly forbidden — in the prompt, as a hard rule — from asking why you disappeared.
4. The coach names things
The coach keeps three-tier memory of your goals and today's tasks, so instead of "You got this!" it says the actual thing you did. Generic encouragement bounces off; specific recognition sticks. And on a day you did nothing, the evening card still arrives: it's fine — tomorrow starts small.
Solo developer. Built and ran it in Korean first; the English version opened this week. Stack: React 19 + Vite, Gemini with an OpenAI fallback, Firebase, fal.ai for images. No signup needed to look around.
Next essay — Only halfway, or halfway there
Try SecretCoach