Pomodoro Timer

Loading preview

Starting the Flutter app

A Flutter pomodoro timer with a CustomPaint progress ring, focus and break modes, round tracking and adjustable durations.

Get the source

Add it to your project

Copies the Dart source into your app, so you own it. Flutter SDK only, no extra packages.

First time? Run dart pub global activate fluttertemplates_dev, or read the CLI guide.

Remaining time comes from a Stopwatch plus a banked duration rather than counting ticks, so the display stays right when a browser throttles the periodic timer. _bank freezes elapsed time on pause and before any speed change. When a round ends, _finish records it and picks the next mode, with a long break after every _roundsPerCycle focus rounds, then offers to start it from a snackbar. Durations are edited in the settings sheet, which also has a 60x preview for watching the full cycle. Remove that switch for production, and persist _completedRounds and _focusedMinutes if the daily totals should survive a restart.