Friction lands where you can least afford it
The distance between deciding to do something and starting it is the expensive part of ADHD. Everything placed in that gap is charged at a much higher rate than the designer assumed.
A sign-up screen sits exactly there. So does an email verification, a password you have to invent, a permissions dialog, and a spinner waiting on a server in another country. Individually each is a few seconds. Together, at 7am, on a morning that was already going badly, they are enough to end the attempt.
This is not a complaint about bad design. Accounts exist for real reasons — cross-platform sync, subscription management, support. It is a claim about who pays for them, and where.
What "offline-first" actually means
There is a difference between an app that tolerates being offline and an app that is built offline-first.
Tolerates: the app works, mostly, and quietly queues changes. Some screens are blank. The timer works but the history does not load. You find out which is which at the worst moment.
Offline-first: the device holds the truth. Everything works with the network switched off — routines, timers, streaks, notifications — and sync, if it exists at all, catches up silently later.
The test is easy and worth doing in the first week: turn on Airplane Mode and use the app normally for one session. Anything that breaks will break on a train, in a basement, or on a bad connection, and that will be the day it matters.
What an account actually costs you
- Friction at first use, when abandonment is most likely.
- Friction at every reinstall, which is when someone returning after a gap is at their most fragile — see restarting after falling off.
- A copy of your data on someone else's server, which for a routine app means your medication times, your sleep pattern and your bad weeks.
- A dependency on the company continuing to exist. If a server-based app shuts down, your history goes with it. Local data does not.
- An email address they can use, and re-engagement mail is often written in exactly the guilt-toned voice you were trying to avoid.
How to check before installing
- Look at the first App Store screenshot. If it is a login screen, that is what your first thirty seconds will be.
- Read the privacy label. "Data linked to you" tells you whether there is a server-side profile.
- Search the description for "account required" or "sign in".
- Check what sync uses. On iOS, "iCloud" usually means your own private container; a branded cloud means the developer's servers.
- Test Airplane Mode in week one.
The honest trade-offs
No-account apps genuinely give things up.
Cross-platform sync is hard or impossible. If you need the same data on Android and iPhone, an account is usually the only route.
Support is harder. With no server-side record, a developer cannot look at your account to see what went wrong — they can only ask you.
Recovery is on you. Lose the device without a backup and, unless sync is enabled, the data is gone. Local-first means locally responsible.
For a single-platform routine app, those trade-offs are usually worth it. For a shared team tool they would not be.
Where Orbit lands
Orbit asks for nothing to start: no account, no email, no password. Routines are stored on the device with SwiftData, and everything — routines, streaks, the orb, notifications — works with no network at all. If you want your data on more than one device, sync uses your own private iCloud container, which the developer cannot read.
The full detail is in the privacy policy and the fact sheet.