Sober: day counter
Minimal sober-days counter with a friends circle that shares streaks.
Sober is a small Android app (Jetpack Compose) that counts days without drinking on a seven-segment style display, with share, reset and a hidden settings screen to set the start date.

Sober is a small Android app (Jetpack Compose) that counts days without drinking on a seven-segment style display, with share, reset and a hidden settings screen to set the start date.
A Flask backend lets users pair with friends by exchanging short numeric codes and see each other's streaks, with heartbeat, throttling and a circle-based admin dashboard.
It is deployed behind Caddy and ships with Play Store assets and a privacy policy.
What it does
- Seven-segment day counter drawn on a Compose Canvas, share intent, confirm-reset dialog
- Friends: request a pairing code, redeem a friend's code, list friends with days and last-seen
- Backend: register/heartbeat/code/redeem/friends endpoints with throttling and an admin view per circle
- Secret settings activity for custom start date/time
- Release scripts, privacy policy page, Play Store icon and feature graphic
Complete small product: app, backend, deployment and store assets. Note: SoberApi.kt hardcodes an API key — do not show that file.
Want something like this?
I build it live on a Zoom call, you watch the screen, the timer stops when you say stop. First 15 minutes are free.