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.
I eventually noticed the collapse never came from difficulty. It 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.
Then I looked at my todo app and realized it was an all-or-nothing machine. Streak counters. Completion percentages. Red "incomplete" markers waiting for me after a week away. Every instrument measured how much I failed, and fired loudest exactly when I was most likely to leave.
So I built the opposite, and these were 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.
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 says No %, no N/M, no progress bar. Removing a number is easy; the hard part was keeping the decision everywhere, because a countable thing begs to be counted. Every new feature tempted me to add a ratio back.
3. Coming back is the celebrated event
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
It has 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. On a day you did nothing, the evening card still arrives: it's fine, tomorrow starts small.
Solo developer. Built it in Korean first, opened the English version this week. Stack: React 19 + Vite, Gemini with OpenAI fallback, Firebase, fal.ai for images.
The bet underneath all of this: for ordinary people with jobs and rent — not elite athletes — what decides the outcome isn't intensity. It's whether the door is still open when you come back.
If you want to poke at it, no signup needed: https://secretcoach.ai/en?utm_source=devto&utm_medium=blog&utm_campaign=launch
I'd genuinely like pushback on one thing: do people actually keep moving without an accountability mechanism? That's the assumption the whole product rests on.
Top comments (0)