← Back to projects
Individual Project

Dopamine Lock

Native Android behavioral focus system

Native Android behavioral focus system combining productivity workflows with operating-system-level distraction enforcement.

AndroidSystemsBackend
Status
Active / in progress
Year
2026
Role / Context
Individual engineering project
Dopamine Lock Android dashboard screenshot

Overview

Dopamine Lock is a Kotlin/Jetpack Compose Android application that combines focus sessions, missions, tasks, goals, streaks, discipline scoring, analytics, notifications, and authenticated Firebase-backed persistence with Android-level enforcement mechanisms.

Problem

Most productivity apps track intention but do not enforce focus when users switch to distracting apps or background the timer.

Solution

Coordinate lifecycle-aware Compose UI, ViewModels, repositories, Firebase, foreground services, WorkManager, DataStore preferences, accessibility monitoring, usage access, overlays, notifications, and Do Not Disturb integration to turn a focus session into an enforced system state.

Engineering Highlights

  • MVVM and repository separation across auth, sessions, missions, tasks, goals, analytics, discipline, streaks, and notifications.
  • Foreground services keep mission/timer execution alive beyond the foreground UI.
  • AccessibilityService and usage-access monitoring support app blocking during active missions.
  • Firebase Authentication and Realtime Database scope user progress and session data to authenticated users.
  • WorkManager-backed reminders/milestones and DataStore-backed preferences support background and local state needs.

Architecture

  1. 01Compose screens
  2. 02ViewModels with Flow state
  3. 03Repository layer
  4. 04Firebase Auth/Realtime Database
  5. 05Foreground + WorkManager services
  6. 06Android permission and enforcement APIs

Technology

Mobile

KotlinAndroid SDKJetpack ComposeMaterial 3Navigation ComposeCoroutines / Flow

Backend

Firebase AuthenticationFirebase Realtime Database

Infrastructure

Foreground ServicesAccessibilityServiceUsageStatsWorkManagerDataStoreDo Not Disturb APIs

Testing

JUnitMockitoViewModel tests

Ownership / Context

Dopamine Lock is presented as a individual project, with claims limited to repository-verified implementation details.

Screenshots / Assets

Dopamine Lock screenshot 1
Dopamine Lock screenshot 2
Dopamine Lock screenshot 3