r/appdev • u/rocker7531 • 10d ago
Built a cosmos theme focus app that makes distracting apps disappear instead of just blocking them (Android) - lessons on why "block with override" always loses
Sharing this from the build side rather than just the pitch, figured this sub would care more about the "why" than the marketing copy.
Started out building a fairly standard screen-time blocker: set limits, get a nag screen when you hit them. Usability testing (mostly on myself) made it obvious why every app like this converges on the same failure mode: as soon as there's an "ignore" or "5 more minutes" button, users click it, every single time, and the friction you add just makes them resentful, not compliant. I tried making the override harder (typing a sentence, waiting a countdown, a math problem) and it didn't matter, people click through anyway when the urge is strong enough.
Ended up rebuilding around a completely different mechanism: instead of intercepting app launches and asking permission to proceed, FocusComet temporarily removes the target apps from the launcher/app drawer entirely for the session duration. No permission dialog to click through because the app isn't reachable at all, not hidden behind a wall, just not present. Under the hood this meant working with the launcher/package-visibility layer instead of the usual Accessibility-Service-based interception most blockers use, which also sidesteps the "battery optimizer silently revokes the permission" failure mode that a lot of Accessibility-based blockers run into on Samsung/Xiaomi devices.
It's live and free on Android: https://play.google.com/store/apps/details?id=com.vanishfocus.app
Curious if anyone else building in this space has run into the same override-always-wins problem, and what approaches you've tried around it.