FocusLock
A session timer that counts every time you leave the app as a distraction. Brutally honest focus tracking with zero complexity.
What it is
FocusLock is a dead-simple focus session timer with one twist: every time you leave the app mid-session, it counts as an interruption. At the end of your session you see your interruption count, a focus score, and your streak.
It's not another Pomodoro clone. No to-do lists, no elaborate settings, no productivity frameworks. Just a timer, a locked work block, and an honest record of how many times you actually broke focus.
Why I built it
Every focus app either tries to block your phone (which you work around immediately) or tracks screen time passively in a way you ignore. Neither gives you the feedback loop that actually changes behavior: seeing "you left the app 7 times in 25 minutes" right after you finish.
How it works
You set a session — duration and an optional label. You hit Begin. From that point, every time the app goes to background, it registers as an interruption using React Native's AppState API. No special permissions needed.
When the timer ends, you see: total focus time, interruption count, focus score, and your current streak. Session history is stored locally with AsyncStorage — no account, no backend.
Key features
- One-tap session start with preset durations or custom
- Interruption tracking via AppState (no permissions required)
- Focus score and session summary screen
- Streak tracking across sessions
- Full session history stored locally
- No backend, no account, no data collection
Status
Core session flow and interruption tracking built. Working on the summary screen and history view before App Store submission.