FocusGate is an Android launcher that replaces the default home screen. Instead of blocking apps after the fact, it intercepts before you open anything — asking what you intend to do, then enforcing that intent while you work.
The core philosophy: friction before, not punishment after.
Built as a default launcher (Intent.CATEGORY_HOME), the app has a structural advantage over traditional blockers — it doesn't need to fight Android's security model.
| Feature | Android API Used |
|---|---|
| App interception | Launcher = gateway by default |
| Foreground app detection | UsageStatsManager |
| Screen content reading | AccessibilityService |
| Notification suppression | NotificationListenerService |
| Overlay "Intent Wall" | SYSTEM_ALERT_WINDOW |
| API key storage | Android Keystore (hardware-encrypted) |
Distribution note: Due to Play Store restrictions on
AccessibilityServicefor non-disability apps, distribute via F-Droid or direct APK. This aligns naturally with the open-source model.
The home screen is not an app grid — it's a chat interface.
Before launching any app, the user states their intent:
"I need to check the WhatsApp message from my project group."
The AI parses this and returns a structured permission object:
{
"allow_apps": ["whatsapp"],
"deep_link": "whatsapp://send?phone=GROUP_ID",
"time_limit_minutes": 3,
"focus_category": "communication"
}The app opens directly to the specific contact/group via deep link — skipping the chat list, the Status tab, and every other distraction surface.
When UsageStatsManager or AccessibilityService detects context drift (e.g., you stated "React tutorial" but a MrBeast video title appears on screen):
Strikes reset when a new intent session begins.
Using AccessibilityService, the app reads visible text on screen (video titles, article headlines, page content) and compares it semantically to the declared intent.
The AI doesn't use keyword matching — it understands that "Linus Torvalds interview" is still on-topic for a Linux study session, but "top 10 gaming setups" is not.
Action on drift: Screen desaturates to greyscale instantly. A prompt appears:
"Drifted from Linux → Entertainment. Heading back?"
One tap to return. No lecture.
Your daily attention is a finite resource. The app makes that visible.
Users can customize the credit costs and penalties per app category. The difficulty curve is yours to set.
Before opening a flagged app (Instagram, YouTube, etc.), the AI gives you a small task tied to your current goal.
If you're a BCA student studying Data Structures:
"Explain the difference between a stack and a queue in one sentence. Then I'll give you 5 minutes."
Why it works: The mental gear-shift from passive consumption to active recall often makes the urge to scroll disappear on its own. And if it doesn't, you've at least reviewed something useful.
Link with a friend. If you want to bypass a self-imposed block, your friend gets a push notification asking for permission.
Most people would rather not scroll than send the message: "Can I have 10 more minutes on TikTok?"
The social embarrassment is the mechanism. No shame lecture from an app — just the quiet awareness that someone else knows.
The app doesn't just track how much you got distracted — it tracks why.
After closing a doom-scrolling session, one question appears:
"How were you feeling? → Bored / Anxious / Tired / Procrastinating"
After a week, the dashboard shows:
"You scroll most on weeknights at 10 PM when Tired."
The app then surfaces a suggestion — a short walk, a breathing exercise, a nap timer — instead of just a block.
Activate Deep Work Mode for a specific goal and the phone's UI collapses.
Inside this mode, a persistent Quick Query bubble lets you ask the AI questions without leaving the tunnel. It answers — but never shows external links, news, or unrelated content. You stay in the flow.
At the end of every Deep Work session, the AI generates a plain-English report:
"You spent 52 minutes on the Operating Systems PDF, wrote 180 words of notes, and had 2 drift attempts (both caught). You're 20% through this chapter."
No generic "great job." Just honest progress data.
Users input their own API keys. The app never sees your usage bills, and you choose which model fits which task.
Suggested setup:
Keys are stored in Android Keystore, encrypted at hardware level. Never leave the device.
Save frequently used intents as one-tap shortcuts:
Reduces the friction of typing an intent every time, without removing the intentionality.
Pre-define guilt-free distraction slots in the app's weekly schedule.
"Every day 8:00–8:30 PM: all apps open, no questions asked."
During these windows, FocusGate steps completely out of the way. This prevents the psychological trap of feeling like the app is a prison — you always know freedom is scheduled, not forbidden.
Based on time of day, day of week, and your historical patterns, the app proactively suggests an intent when you pick up your phone:
"It's 10 AM on a Tuesday. Starting your usual study block?"
One tap to confirm. Reduces the daily decision fatigue of "what should I focus on now."
After a timed distraction session ends (e.g., 5-minute Instagram break), the app doesn't immediately snap back to work mode.
Instead, a 10-second transition screen appears — a breath prompt, a reminder of your current goal, or just a dark screen with the intent displayed. Small reset. Clears the mental residue before deep work resumes.
During first setup, the user swipes each installed app into one of three buckets:
The AI uses this map for all enforcement decisions. Users can retag at any time. This makes the app feel personal, not authoritarian.
Track consecutive days where you hit your focus targets. At milestone days (7, 30, 100), unlock cosmetic rewards: new launcher themes, new Intent Wall styles, new streak badges.
No premium paywall. Just acknowledgment that discipline compounds.
AccessibilityService is processed immediately and discarded — never stored, never sentREADME.md documents every permission the app requests and exactly why| Mode | AI Role | Strictness |
|---|---|---|
| Study | Socratic tutor, no answer-dumping | High |
| Research | Answer engine, blocks off-topic queries | Medium-High |
| Coder | Technical partner, markdown + code view | High |
| Deep Work | Silent enforcer, no queries | Maximum |
| Open Window | Off | None |