Sprint is a minimalist Flutter focus timer for short, repeatable work sessions. It keeps the experience intentionally small: start a sprint, finish it, and track your consistency over time.
- Single-tap focus timer with a clean countdown UI
- Adjustable sprint duration
- Local sprint history stored on device
- Current streak and total sprint stats
- 30-day activity heatmap
- Optional completion sound
- Reset controls for clearing history and streak data
- Flutter
- Riverpod and
riverpod_generator - GoRouter
- Drift with SQLite
- Freezed
- Audioplayers
lib/presentationcontains the timer, history, and settings screenslib/datacontains Drift database setup, DAOs, and repository implementationslib/domaincontains models and repository contractslib/corecontains routing, design system tokens, and shared utilities
flutter pub get
flutter runTimer: run a sprint, stop it early, and see today’s completed countHistory: review the last 30 days, streak, active days, and total sprintsSettings: change sprint duration, toggle completion sound, or reset local data
- Sprint stores data locally and does not require an account
- The app is currently configured as a portrait experience