I will add pictures soon
A digital wellness Android app that blocks distracting apps during focus sessions, with an NFC-based Hard Mode for serious commitment.
At some point during October/November 2025, I was getting a lot of ads for productivity apps with this exact premise. They, however, were charging $$ for what was essentially a premium NFC tag. This app does pretty much exactly what they do using any NFC tag.
- App Blocking — Select apps to block, start a session, and FocusTap intercepts launches via an Accessibility Service, replacing them with a block screen
- Hard Mode (NFC) — Sessions longer than 24 hours activate Hard Mode, which can only be unlocked by tapping a registered NFC card
- Usage Statistics — The block screen shows real-time stats: how many times you opened the blocked app today, total screen time, and per-app screen time
- Motivational Messages — Randomized messages appear on the block screen; choose from 10 built-in messages, write your own, or use both
- Home Screen Widget — A 2×1 widget displays session status, time remaining, and blocked app count, updating every 5 seconds during active sessions
- NFC Card Management — Register multiple NFC cards with custom names; any registered card can unlock Hard Mode
FocusTap requires several sensitive permissions to function:
| Permission | Why it's needed |
|---|---|
| Accessibility Service | Monitors window state changes to detect and intercept blocked app launches |
Usage Access (PACKAGE_USAGE_STATS) |
Reads app usage data to display screen time statistics on the block screen |
Display over other apps (SYSTEM_ALERT_WINDOW) |
Shows the block screen overlay when a blocked app is opened |
Query all packages (QUERY_ALL_PACKAGES) |
Lists installed apps so you can choose which ones to block |
| NFC | Reads NFC tags for Hard Mode unlocking and card registration |
Exact alarms (SCHEDULE_EXACT_ALARM) |
Keeps the home screen widget updated on schedule |
- Language: Kotlin
- UI: Jetpack Compose with Material 3
- Min SDK: 24 (Android 7.0)
- Target SDK: 36
- Data: SharedPreferences + Gson
- Build: Gradle with AGP 8.13.0, Kotlin 2.0.21
- Clone the repository:
git clone https://github.com/anagkan/FocusTap.git
- Open the project in Android Studio (Ladybug or newer recommended)
- Sync Gradle and build the project
- Run on a device with NFC hardware
FocusTap requires NFC hardware on the device (android.hardware.nfc is declared as required). The app will not install on devices without NFC support. An NFC card is only needed for Hard Mode — regular blocking sessions work without one.