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 it does 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 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 instead, which reads completely differently for identical behaviour.
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.
- Automatic protection. If you have to open the app to apply a freeze, it will not happen. The reason you missed the day is usually that you did not open the app.
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 finite forgiveness: freezes that accumulate slowly, are spent automatically, and can run out. That keeps the signal meaningful while making sure a single rough day never ends the whole thing.
How Orbit handles it
Orbit grants freezes as your streak grows and spends them automatically on days you miss, with no action needed from you. The history shows the missed day honestly; the count survives. There is no percentage, no character to keep alive, and no notification that comments on how you are doing.
That is the whole of the mechanic, and it exists because the alternative is what made its developer delete four habit apps in a row.