Every screen-time app I tried in 2024 assumed the problem was access. Remove access, problem solved. It is not, and I have the logs to prove it on myself.
The three attempts that failed
Full block, 9 days. I blocked the four apps I used most. Day four I started using the mobile web versions. Day nine I had reinstalled two of them and turned the blocker off "temporarily", which lasted three weeks.
Accountability partner, 5 weeks. A friend held the passcode. I asked for it three times with increasingly creative reasons, got it twice, and stopped asking because asking felt worse than the habit.
Cold turkey, 12 days. Deleted everything, kept it up for twelve days, then reinstalled five apps in one evening after a bad day.
The pattern: every method removed the access and left the reason untouched. A phone is also my map, my messages, my train ticket. "Just don't use it" is not available to me.
What actually changed: budget + counter
Two mechanics replaced blocking.
A per-app daily budget. Games get 20 minutes, short video 20 minutes, messaging and maps unlimited. Not one global hour, which runs out by noon and then gets ignored for the rest of the day.
A counter of overrides. When a budget runs out, the app does not lock. It asks once: continue now, or do the thing you said you wanted to do first. If I continue, it records that. No punishment, no streak to protect, no guilt screen. Just a number that goes up.
The counter is the part that worked, and it is the part every blocker I tried was designed not to have. Blocking is binary: you are compliant or you have failed. A counter is a measurement, and measurements are harder to lie to.
21 days of data
I logged every open and every override from 1 to 21 October.
- Sleep-adjacent phone use: 90 min/night to 12 min/night
- Opens per day: 41 to 19
- Overrides per week: 23 to 6
- Apps uninstalled: 0
The 23-to-6 drop is the interesting number. I was not overriding less because I had more willpower. I was overriding less because overriding had become visible. Seeing "23" next to a week made the next override feel like a choice rather than a reflex.
Why the "no stopping cues" framing matters
Short video, games and social feeds share one structure: no natural end. A season never ends, a feed never refreshes to a bottom, an autoplay queue always has a next item. So the useful question is not "how do I stop" but "where do I put the stopping cue".
Three cues that survived contact with a bad day:
- A budget boundary — an external, pre-committed end that is not a judgement about me.
- A single question at the boundary — one prompt, not a wall of options.
- A visible count of crossings — the only feedback that changed behaviour without shame.
What I built, and what I left out
I got tired of stitching this together across three apps, so I built it as one: per-app budgets, one prompt at the boundary, and a plain counter of overrides, all stored on the device. It is called ChoiceField, iOS only, free.
Two deliberate omissions, because I think they matter:
- No blocking mode. A block that can be bypassed teaches you that rules are optional; a budget that reports does not.
- No rankings or streaks. Streaks punish a bad day twice: once when it happens, once when it resets.
If you want to look at it: App Store (US) or App Store (China).
If you only take one thing from this: stop trying to remove access, and start making the override visible. You can do that with a notebook for a week before you install anything.

Top comments (0)