🛡 Android · Open Source · Free

The App Blocker
That Can't Be Bypassed.

FocusFlow enforces focus at the OS level — Accessibility Service + local VPN + Device Admin. No soft timers, no single-tap override. Just unbreakable blocking.

⬇ Download APK View on GitHub →
3
Enforcement layers
(Accessibility + VPN + Device Admin)
30+
Android OEM brands
supported
$0
Forever free
no subscription
No root
Works on stock
Android 8.0+

Three layers of enforcement

Most blockers use one layer — FocusFlow stacks three. Each layer closes a bypass the previous one leaves open.

1

Accessibility Service

Monitors every app window. Fires within milliseconds of detecting a blocked app — up to 5 re-checks at 300 ms intervals. Also intercepts Play Store installs, uninstall dialogs, and navigation to Accessibility Settings during active sessions.

2

Local Null-Routing VPN

Routes blocked app traffic into a local VPN tunnel that never forwards packets. PER_APP mode: only the blocked app loses internet. GLOBAL mode: all internet cut except emergency calls. No traffic ever leaves your device.

3

Device Administrator

Blocks uninstallation via Android Settings. System Guard intercepts navigation to Clear Data and Accessibility screens during sessions. SHA-256 hashed session PIN stored natively — even a compromised JS bridge can't end a session without the correct PIN.

Features no other blocker has

These aren't incremental improvements. They're capabilities you won't find in Freedom, Opal, AppBlock, or Digital Wellbeing.

📊

Temptation Log + Weekly Report

Records every blocked-app attempt with timestamp (up to 500 entries). Every Sunday at 08:00, a push notification delivers your 7-day behavioral summary by app. Patterns, not just timers.

📅

Scheduled Greyout Windows

Block Instagram Mon–Fri 09:00–18:00 without any active session. Per-app, per-day-of-week calendar blocking. Independent of the four timed modes — enforced directly by the Accessibility Service.

📱

Content-Specific Blocking

YouTube Shorts Blocker closes the Shorts player while leaving YouTube fully accessible. Instagram Reels Blocker works the same way. Block the addiction loop, not the whole app.

Aversive Feedback

Screen dimmed to 2% hardware brightness + 70% black overlay + vibration pulse loop + notification sound — all firing simultaneously on blocked-app detection. Conditions the reflex, not just the behaviour.

🏠

Launcher Replacement

Set FocusFlow as your home screen. HOME button shows only whitelisted apps in a minimal grid. The app drawer also respects the blocklist. Your home screen becomes the enforcer.

🔄

Boot Recovery

BootReceiver auto-restarts the Accessibility Service and VPN after any device reboot. Clock tamper detection validates session timestamps at boot — the "change system clock" bypass doesn't work.

📦

Sideload Guard

PackageInstallReceiver monitors ACTION_PACKAGE_ADDED. Any app installed during a session is auto-blocked and triggers aversive feedback. The "install a different browser to bypass" loophole is closed.

Daily Allowance Engine

Three sub-modes per app: count (opens per day), time-budget (minutes per day), and interval (cooldown between uses). Granular control that goes beyond blunt session blocking.

Up and running in minutes

Grant two permissions and you're protected. FocusFlow handles everything else in the background.

1

Grant Permissions

Enable Accessibility Service and Usage Stats access — both are needed to detect and block apps at the OS level.

2

Choose Your Mode

Task-Based, Standalone, Always-On, or Scheduled Greyout. Add the apps you want blocked (or a whitelist of what's allowed).

3

Start Blocking

FocusFlow activates all three enforcement layers. A persistent notification shows session status and controls.

4

Review Your Data

Check the Temptation Log. Read the Sunday report. See which apps pull your attention most and adjust your blocklist.

FocusFlow vs the competition

A direct comparison of hard enforcement features across the major screen time apps.

Feature FocusFlow Freedom Opal Digital Wellbeing
Accessibility Service blocking
Local VPN enforcement
Device Administrator (uninstall lock)
Temptation Log + Weekly Report
Content-level blocking (Shorts / Reels)
Aversive feedback (dimming + vibration)
Boot recovery & clock tamper detection
Price Free $39.99/yr $39.99/yr Free

Frequently asked

Everything you need to know before installing.

Does FocusFlow require root?
No. FocusFlow works entirely within the standard Android permission system — Accessibility Service, VPN, and Device Administrator. No rooting or system modification is required. It runs on stock Android 8.0+ on 30+ OEM brands.
How does FocusFlow prevent me from uninstalling it?
Three layers: (1) Android Device Administrator mode blocks the normal Settings → Apps → Uninstall path; (2) System Guard intercepts navigation to Accessibility Settings, Clear Data, and Uninstall during active sessions; (3) A SHA-256 hashed session PIN stored natively means even a compromised JavaScript layer cannot end a session without the correct PIN.
What is the Temptation Log and Weekly Report?
The Temptation Log records every blocked-app attempt — app name, package name, timestamp — capped at 500 entries. Every Sunday at 08:00, FocusFlow delivers a push notification with your 7-day totals by app (e.g. "Instagram: 18 attempts, TikTok: 14 attempts this week"). No other screen time app offers a weekly behavioral report.
Can FocusFlow block YouTube Shorts without blocking all of YouTube?
Yes. The YouTube Shorts Blocker closes the Shorts player within YouTube while leaving the main feed, search, subscriptions, and video playback fully accessible. Instagram Reels blocking works the same way — Reels feed blocked, the rest of Instagram untouched.
What happens if I install a new app during a session?
PackageInstallReceiver monitors for ACTION_PACKAGE_ADDED broadcasts. Any newly installed app is automatically added to the block list and triggers aversive vibration feedback. The common "install a competing browser mid-session" loophole is closed.
Does FocusFlow collect or share my data?
No. The local VPN never forwards packets to any external server. The Temptation Log, task data, and all blocking state are stored on-device in Android SharedPreferences and SQLite. FocusFlow transmits zero telemetry, analytics, or personal data to any server.
Does FocusFlow work after a phone reboot?
Yes. BootReceiver automatically restarts the Accessibility Service and VPN after any device reboot during an active session. Clock tamper detection also validates session timestamps at boot — the "change the system clock to expire the timer" bypass is ineffective.
Which Android devices does FocusFlow support?
30+ Android OEM brands: Samsung (OneUI), Xiaomi (MIUI/HyperOS), Oppo (ColorOS), Realme, Vivo (Funtouch/OriginOS), OnePlus (OxygenOS), Huawei (EMUI/HarmonyOS), Honor, Motorola, Asus (ZenUI/ROG), Nothing OS, Nokia/HMD, Sony Xperia, Meizu (Flyme), LG, Lenovo, TCL/Alcatel, ZTE, Wiko, Black Shark, and Transsion brands (Infinix, Tecno, itel).
Is FocusFlow really free?
Yes, completely free. No subscription, no in-app purchase, no premium tier. Every feature — Accessibility Service enforcement, VPN blocking, Device Admin, Temptation Log, Weekly Report, Scheduled Greyout Windows, scheduling engine — is available at no cost.

Built with modern tools

React Native + Expo on the JS layer. Six custom Kotlin native modules on the Android side.

Expo SDK 54 React Native 0.81 Expo Router TypeScript SQLite (expo-sqlite) Kotlin Android Accessibility Service Android Foreground Service AppWidget API UsageStats API VpnService API DeviceAdminReceiver expo-notifications Reanimated v4

Ready to actually focus?

Download the APK or build it yourself from source. Completely free, forever.