Android · Open source · local only

Deliberate friction for compulsive phone use.

FocusED is not a dashboard that hopes guilt will do the work. It is an enforcement tool that puts meaningful resistance between you and reflexive app use.

Three friction tiers. No engagement loops. No analytics. No cloud account. Just enough resistance to break autopilot before another scroll session begins.

Download APK View on GitHub F-Droid pending
3 friction tiers No network permission Android 8.0+ MIT licensed code
9:41FocusED
FocusED
enforce limits · reduce autopilot
limits live

One glance. Clear intent.

Focus sessions, friction overlays, and private analytics work as one calm system instead of six noisy dashboards.

local only 3 tiers no network
intentionality 74%
focus session
42:18

Deep work is active

Instagram, YouTube, and X stay blocked until the timer ends.

writing 3 apps blocked
today
Instagram
daily budget exceeded
Tier 2
YouTube
short-form cap nearby
Warn
friction overlay
Tier 02
Instagram is over budget. Continue only if you actually mean to.
typing gate
I choose to use this intentionally
leave app
continue
3friction tiers that escalate by use
0network permissions in the app
MITcode that stays open and inspectable
8.0+Android support from API 26 onward

Not a habit tracker. Not a wellness toy. A tool that makes your limits real.

How it works

The pause gets stronger when the urge gets stronger.

Each app escalates independently. The first override is a pause. The next asks for intent. After that, FocusED stops negotiating.

Tier 01

Mandatory pause

A short countdown with no instant dismiss. Enough time to interrupt reflex before your thumb decides for you.

A small delay is often the difference between intentional use and automatic use.
Tier 02

Typing challenge

You type a phrase to continue. That sounds simple, but it is powerful because it defeats pure muscle memory.

The app asks for intention, not impatience.
Tier 03

Hard wait

When you keep pushing through, the friction becomes real. A longer wait with no skip path, because you chose stronger limits.

FocusED is not here to be liked. It is here to hold the line.
What it gives you

Built to reduce compulsion, not increase engagement.

Every feature goes through the same test: does this make FocusED more useful, or just more used?

Per-app time budgets

Set hard daily limits for the apps that eat your day. Crossing the line leads to friction, not advice.

Scheduled downtime

Block distraction windows during work, study, sleep, or recovery. Your rules apply at the right time, automatically.

Focus sessions

Start a block of time where selected apps stay shut. Useful when you need deep work without negotiating with yourself.

Open-count limits

Sometimes the problem is not duration but repetition. Limit how many times an app can be opened in a day.

Intentionality rate

After an override, you can later decide whether it was worth it. That metric is about judgment quality, not compliance theater.

Privacy as architecture

No backend. No analytics SDK. No account system. Your usage history stays on the device and disappears with the app.

Permissions

It asks for what enforcement needs. Nothing else.

FocusED watches the foreground so it can act at the right moment. That is serious access, which is why the app stays transparent and local-only.

Draw over apps

SYSTEM_ALERT_WINDOW

Needed to show the friction layer the instant a limit is hit.

Accessibility service

BIND_ACCESSIBILITY_SERVICE

Used to detect the foreground app. Package name only, not screen content.

Usage access

PACKAGE_USAGE_STATS

Used to read per-app duration so budgets, opens, and stats can work correctly.

No camera. No mic. No contacts. No location. No storage. No network.
Open source

Free to inspect. Free to build on. Not free to impersonate.

The code is MIT licensed. The official name and identity stay protected so users can tell the real build from an imitation.

MIT licensed code

The implementation stays open.

You can read it, audit it, fork it, and build from it. That matters because FocusED asks for unusual trust.

Protected identity

Forks should look like forks.

The official FocusED identity is reserved so unofficial releases cannot confuse users on stores or sideload channels.

What that means in practice

Fork and modify the code freely
Ship your fork as “FocusED”
Study the enforcement pipeline
Use the official logo unchanged
Contribute improvements upstream
Claim an unofficial build is official
Architecture

Production-minded Android. Zero backend.

The enforcement pipeline runs on-device: foreground app detection, budget evaluation, and friction overlays. No server needs to stay alive for your limits to work.

Kotlin 1.9Language
AccessibilityService + overlay managerEnforcement
Room + local persistenceData
Foreground service + workersReliability
Compose UIInterface
Foreground app detected
Session repository
Budget evaluator
Checks downtime, opens, short-form limits, daily budget, and focus blocks
Overlay manager
Friction shown only when needed
Privacy

Your attention data belongs to you.

FocusED takes a position of unusual trust. The product answer is simple: do the work locally and avoid collecting anything that should not leave the device.

No network requests

The manifest excludes internet access, so there is nowhere for your usage history to be sent.

No accounts

No login, no profile, and no email collection standing between you and the app.

Local database only

Sessions, limits, and reflections stay on-device in local storage.

Inspectable code

Because the code is public, the trust model is visible instead of hidden behind policy copy.

Available now

Use your phone with more intention.

Download the current Android build and see what happens when the limit stops being symbolic.

Download APK Source code Google Play and F-Droid later