Note: I'm writing about the design and engineering here, not the niche itself. The point that's interesting to me as a builder is the system, not the topic.
Most apps in the behaviour-change space lean on the same two levers: willpower and shame. Big streaks, "don't break the chain," sometimes an outright moralising tone. They work for a few people and quietly fail the rest — because willpower runs out, and shame makes a slip feel like a collapse.
I wanted to build the opposite: something gradual, structured, secular, and private for someone trying to step away from an unwanted compulsive habit. That became ResetLadder.
The core idea: a slip is information, not failure
The engine is a "ladder." You don't aim for an infinite streak; you climb in cycles of increasing strictness. Step N means N consecutive reset days before the next allowed window. The interesting part is what happens when you slip: instead of zeroing everything out, the system steps you down by one and restarts the cycle. A slip reduces the difficulty for a moment rather than wiping your progress.
That single decision changes the emotional shape of the whole thing. There's no "1100-day streak" to shatter — just a process that bends instead of breaking. For a sensitive, private topic, that matters more than any feature.
Privacy isn't a feature here, it's the premise
For something this personal, "we don't have your data" can't be a marketing line — it has to be architecturally true. So: no accounts, no servers, everything stored on-device (SwiftUI + SwiftData). Nothing leaves the phone. You can't leak what you never collect.
What I learned
- Designing for shame-avoidance is a real engineering constraint, not just copywriting. The data model, the failure states, the language — all of it has to assume the user is already being hard enough on themselves.
- "Calm" is harder to build than "engaging." Engaging is a dopamine loop you bolt on. Calm is a hundred small decisions to not punish, not nag, not gamify.
- A privacy-first, on-device app means you also give up the easy analytics — you trade visibility for trust, on purpose.
It's live: resetladder.com. If you build in a sensitive space, happy to compare notes on designing for the user's worst day instead of their best.
