dobrovolskiy.com
RU
← all workmobile · 2026

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: day counter

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.

$50 / hourBook an hour

More projects

RYTA: freight & machinery marketplaceOffline-first, over-the-air-updated freight/transport load board for Android, web and the MAX messengerBro LocatorCompass-style live locator for cycling crews, with contacts exchanged over sound.Ultimate App TemplateAndroid WebView shell with self-updating web bundles, rollback and behaviour analytics.