The problem is not tracking, it is loss
Recording what you did is neutral. Almost nothing about a plain log makes anyone feel bad.
What produces shame is loss. Somewhere in the app there is a thing you built up over days, and the app takes it away when you miss. That is the mechanic, and once you can name it you can spot it in a screenshot before you ever install anything.
This matters more with ADHD than in general, for a boring structural reason: executive function is variable, so missed days are not exceptional. Any design whose failure state is a routine occurrence will trigger constantly. It is not that people with ADHD are more sensitive to a well-designed app — it is that they meet the punishment far more often. The longer version of that argument is in why streaks break ADHD brains.
The five mechanics to check for
1. A streak that resets to zero. The classic. Eleven days of evidence, deleted by one Tuesday. If the app shows a big consecutive-day counter and has no concept of a protected day, you already know how this ends.
2. A completion percentage. "You completed 64% of your habits this month" is a number that can only go down once you are behind, and it never recovers within the period. Weekly and monthly percentages are the quiet version of the streak reset.
3. A character, pet or plant that suffers. Gamified apps often attach your consistency to something that visibly wilts, starves or loses health. This works well for some people. For others it adds guilt on behalf of a third party, which is heavier than guilt on your own behalf, not lighter.
4. Notifications written in a disappointed voice. "You haven't checked in for 3 days 😔" is a design decision. Read the app's own screenshots and reviews; the tone of the reminders is usually visible before you install.
5. A history view that emphasises the gaps. A grid of green squares with holes in it is a picture of failure with a small amount of success drawn around it. The same data can be shown as a rising total, which reads completely differently for identical behaviour.
The checklist, side by side
| Mechanic | What it looks like | Shame-free alternative |
|---|---|---|
| Streak | A counter that returns to zero after one miss | Earned freezes, or a rolling count |
| Percentage | "64% this month", falling all month | Days done out of the last thirty |
| Character | A pet, plant or avatar that suffers | A record that only you see, with nothing to keep alive |
| Notifications | "We miss you 😔", "Don't break your streak!" | A plain statement of what is scheduled |
| History | A grid with red or empty gaps | A total that only goes up, misses shown neutrally |
What good looks like instead
- A missed day costs nothing that took effort to build. Freezes, protected days, or simply no streak at all.
- Metrics that keep rising through a bad week. Days out of the last thirty. Total sessions. Both go up when you show up and stay flat when you do not — they never go backwards.
- The record stays honest. Forgiving does not mean pretending. A good app shows that you missed Tuesday and still shows the run intact; hiding the miss makes the number meaningless.
- Neutral notifications. A reminder that states the fact and nothing else.
- Nothing to do on the bad day itself. If protecting a streak means opening the app before midnight, it will not happen — the reason you missed the day is usually that you did not open the app. Protection has to apply itself, or wait for you to come back.
The two-minute test
Before committing to any habit app, do this deliberately in the first week:
- Skip a day on purpose.
- Read exactly what the app says the next morning.
- Look at what the numbers did.
If the counter is at zero and there is a sad face somewhere on the screen, you have learned in week one what you would otherwise have learned in week five — with much less invested.
Do the same with the notification settings before you start: find the reminder text, and if the app writes in a voice you would not accept from a person, do not install it.
A note on the opposite failure
An app that forgives everything measures nothing. Unlimited freezes turn the number into decoration, and the sense of a real record — which is the useful part — disappears with it.
The shape that works is limited forgiveness: freezes that accumulate slowly, ask nothing of you on the day you miss, and can run out. That keeps the signal meaningful while making sure a single rough day never ends the whole thing. The design options are compared in what a streak freeze is.
If shame is what ended your last app
Two things are worth knowing. First, the reaction was reasonable: the app took something away on a day that was already bad, and not opening it again was a rational way to avoid a second hit. Second, the habit is usually still there to be picked up. Start smaller than before — about a third of the size — and use a tool, or a paper chart, that cannot punish you. How to restart a routine after falling off walks through the restart itself.
How Orbit handles it
Orbit earns you one freeze for every five days in a row, and every one you earn also adds points toward your monthly level. Unused freezes reset at the start of each month. Nothing has to happen on the day you miss: when you next open the app, it shows which streaks your freezes can still cover and lets you choose which one to rescue. The history shows the missed day honestly; the count survives.
There is no completion percentage, no character to keep alive, and no red. Reminders state facts — "Routine waiting: Morning still pending tonight" — and nothing else. That is the whole mechanic, and it exists because the alternative is what made its developer delete four habit apps in a row.