TheSas

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.

  1. 01

    User action

    • Quick cigarette log
  2. 02

    Interface state

    • Jetpack ComposeCounter + controls
    • KotlinReactive state
  3. 03

    Local model

    • Daily records
    • Reduction logic
  4. 04

    Feedback

    • Progress view
    • ChartsTrends

Decision log

Technology choices

What each technology is responsible for, and why it belongs in this project.

TechnologyResponsibilityWhy this choice
Kotlin

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.

Jetpack Compose

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.

Local-first state

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.

Derived trends

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.

Next