Skip to content
All projects
Source on GitHubStill in active developmentSolo developer, personal projectAug 2026 โ€“ present

Mother

A personal productivity Android app combining daily habit tracking, focus sessions with persistent background timer, and visual task urgency in a Neobrutalist design.

09:41
5G100%

Selamat Pagi, Ahmad! ๐Ÿ‘‹

Kamis, 14 Agustus 2026

STREAK HARI INI
7HARI
Target Hari Ini1j 25m / 2j 00m

Deadline Terdekat

Selesaikan Room Database Migration

14 Agu 2026, 23:59

URGENT

Tugas Kuliah Sistem Informasi

15 Agu 2026, 12:00

MEPET

Jadwal Hari Ini

Sesi Belajar Jetpack Compose

09:00 - 11:00

Berlangsung

Review Habit & Target Streak

14:30 - 15:00

Belum Mulai
KotlinJetpack ComposeMaterial 3Room DBCoroutines & FlowForeground Service

The problem

Most productivity workflows are scattered across standalone habit trackers, Pomodoro timers, and todo apps. On Android, background timers frequently get terminated by system battery optimization, causing lost study records, while overly decorated apps introduce unnecessary friction.

What I set out to build

Build a focused, robust Android productivity app that combines streak-based habit tracking, a bulletproof background focus chronometer with lock-screen controls, and an urgency-coded task list in a bold Neobrutalist interface.

Approach

A native Android app built with Kotlin, Jetpack Compose, Material 3, and Room DB. Focus tracking uses an Android Foreground Service tied to a Live Chronometer Notification with interactive controls. Daily habits support streak tracking with recovery, and task cards automatically adapt their color based on deadline urgency.

Overview

Mother is a personal productivity system I built in August 2026 to consolidate my daily habits, study focus sessions, and task scheduling into a single distraction-free app. Designed with a high-contrast Neobrutalist UI in Jetpack Compose, it prioritizes immediate scannability and reliable execution. Its focus timer runs as a Foreground Service that never drops sessions when switching apps or locking the phone, complete with live lock-screen controls.

Architecture

Clean Architecture with MVI/MVVM StateFlow patterns. Jetpack Compose for UI components, Room Database for local structured persistence, Kotlin Coroutines and Flow for reactive data streams, and Android Foreground Service with custom notification channels for persistent background execution.

What shipped

  • Habit tracking with streak counter, one-tap instant completion for routine tasks, and missed-day streak recovery.
  • Rock-solid background focus timer with live lock-screen action buttons and an active in-app bottom banner.
  • Visual task priority matrix that dynamically color-codes urgency (Urgent, Tight, Warning, Safe) and logs daily study stats.

Hard parts & trade-offs

  • Keeping the Foreground Service timer running reliably without drift or state loss under Android's aggressive battery optimizations (Doze mode), and syncing state bi-directionally with lock-screen notification action buttons.
  • Building a custom Neobrutalism design system in Jetpack Compose from scratch: implementing bold borders, solid offset shadows, and tabular numbers for timers and statistics without relying on skeuomorphic or bloated libraries.

What I learned

  • Foreground Services paired with Live Notification Chronometers are essential for reliable time-tracking on modern Android versions.
  • Neobrutalism's flat, high-contrast visual style drastically improves scannability and keeps the focus purely on getting things done.
  • Reactive StateFlow paired with Room makes multi-screen state synchronization clean and predictable.

What's next

  • 1Add cloud backup and restore options for device migration.
  • 2Introduce customizable Pomodoro interval presets.
  • 3Prepare and publish signed APK releases on GitHub.