Small Compose experiment around behavior tracking
SmokeCounterApp (Android / Jetpack Compose)
Small Android app for tracking cigarettes, reviewing daily progress, and testing reduction-focused UX ideas in Jetpack Compose.
SmokeCounter is a small app for testing what cigarette tracking should feel like when logging needs to stay quick and non-judgmental.
System map
Architecture
The app is a deliberately short local loop: one quick action updates daily state, derived statistics turn that state into feedback, and Compose redraws only what changed.
- 01
User action
- Quick cigarette log
- 02
Interface state
- Jetpack ComposeCounter + controls
- KotlinReactive state
- 03
Local model
- Daily records
- Reduction logic
- 04
Feedback
- Progress view
- ChartsTrends
Decision log
Technology choices
What each technology is responsible for, and why it belongs in this project.
ResponsibilityAndroid application logic
Why this choiceIt is the native Android language and keeps the project close to platform APIs without adding a cross-platform abstraction for a small experiment.
ResponsibilityReactive counter and progress UI
Why this choiceThe screen is driven by a small amount of changing state. Declarative UI makes those transitions simple to iterate on.
ResponsibilityFast repeated logging
Why this choiceThe common action should never wait for an account or network request. Keeping the loop local protects the speed of the habit.
ResponsibilityReduction-oriented feedback
Why this choiceA raw count has little meaning by itself. Daily comparisons and trends turn the same data into feedback without adding more input steps.