I built a screen time blocker that has no account, no server, and no idea who you are
I was doomscrolling about three hours a day. Not "checking my phone a lot" - three hours, measured, on a screen time report I didn't want to look at. So I did what developers do: I went looking for a tool. What I found was a category with two flavors, and neither one was built for me.
Flavor 1: parental control wearing a productivity costume
Most "app blocker" apps assume a supervisor and a supervised. A parent installs it. Someone else holds the password. Someone else gets the report.
The reviews tell the story better than I can. This is a real 1-star review of one of the biggest apps in the category (58k+ ratings, 4.3โ ):
"My parents installed this for me. I don't have a porn addiction. I cannot use the internet without fear of being monitored and needing to be 'accountable'."
That model works fine for kids. But I'm an adult who already knows the problem. I don't need a warden. I need a wall - and I want to be the one who builds it.
Flavor 2: your habits, now on someone else's server
The other half of the category wants an account, a subscription, and a copy of your usage data. You wanted to spend less time on your phone. Now a company you've never met has a timeline of every app you opened and when. For a category that markets itself on "digital wellbeing," that's a strange trade.
What I actually wanted
A short list:
- Blocks the apps that eat my day
- Nobody gets a report on me - not a parent, not a partner, not a vendor
- No login
- Something that makes the habit stick past day three
That last one matters more than it sounds. Blocking alone doesn't work - you disable it in a weak moment and never turn it back on. What works is a number you don't want to reset.
The technical part: you don't need a backend
Here's the thing that surprised me. On iOS, you can build this entire category with no server at all. Apple's Screen Time API (the FamilyControls / ManagedSettings / DeviceActivity trio) does the blocking at the system level, on-device.
The relevant pieces:
FamilyControls- authorization, plusFamilyActivityPickerfor choosing appsManagedSettings- applies the actual shieldsDeviceActivity- schedules and monitors activity windows
Critically, the app tokens you get back from the picker are opaque. You don't receive bundle IDs. You literally cannot build a profile of what the user selected even if you wanted to - Apple hands you a token that only means something to the system.
That constraint is usually framed as a limitation. I think it's the best part of the API. It makes "we don't track you" structurally true rather than a promise in a privacy policy. There's no server, so there's nothing to leak, subpoena, or sell. Streak state, session history, settings - all of it lives on-device. The entire app has zero network calls.
What I shipped
SproutGuard - free on the App Store.
- Block specific apps and sites
- Focus sessions
- Daily streaks (the part that actually makes it stick)
- Usage trends
No account. No cloud. No surveillance. It's for blocking yourself.
Things I got wrong
"But you can just turn it off." Yes. It's your phone. I went back and forth on adding hard-lock mechanisms and decided against every one of them - the moment an app fights its own user, it becomes the thing I was trying to avoid.
Most doomscrolling isn't a decision anyway; it's a reflex. A wall interrupts the reflex long enough for a decision to happen. That's most of the value.
Being right isn't the same as being interesting. "On-device, no account, privacy-first" is a correct positioning and a boring one. Nobody tells a friend about your app because it has no backend. The apps growing fastest in this category have a hook - one makes you do push-ups to unlock Instagram. I built the principled version and skipped the shareable one. Still working on that.
If you're building in this space
The Screen Time API is genuinely pleasant and under-used. If you've been assuming an app like this needs a backend - it doesn't. You can ship a full screen-time product with zero infrastructure cost, zero data liability, and a privacy story that's true by construction. Happy to answer questions about the API in the comments.
Comments
No comments yet. Start the discussion.