Skip to content

easyscripter/flow_fusion

Repository files navigation

Flow Fusion

Flow Fusion

A focused Pomodoro timer for your desktop — build sessions, run work/chill cycles, and track your focus over time.

Platforms License


Flow Fusion is a desktop focus app built with Flutter. You compose sessions out of ordered Work and Chill blocks, run them with pause / resume / skip, and get a desktop notification when each timer and the whole session finishes. An analytics screen shows your total and daily focus time with a year-long focus heatmap.

Features

  • Focus sessions — create sessions as sequences of Work and Chill timers.
  • Run controls — start, pause, resume, and skip; state is restored on restart.
  • Focus blocking — automatically close distracting apps (Windows & macOS) and block websites (Windows) while a Work timer runs.
  • Desktop notifications — alerts when a timer or a session completes.
  • Analytics — total sessions, total / today focus time, average session, and a year-long focus heatmap.
  • System tray — close to tray and keep timers running; show window or quit from the tray.
  • Themes & languages — system / light / dark themes, English and Russian.
  • Automatic updates (OTA) — in-app update banner with a localized "What's new" changelog, plus a manual "Check for updates".
  • Built-in diagnostics — file logging and a one-click log / diagnostics export in Settings.

Focus blocking

During Work phases Flow Fusion can automatically get distractions out of the way. Both lists are configured per session in the editor and only apply while a Work timer is actively running — never during Chill, while paused, or on a manual phase hold. When the Work phase ends, everything is released.

  • Apps (Windows & macOS) — pick apps to block (Windows: choose the .exe; macOS: pick from installed apps). Flow Fusion asks them to quit gracefully (Windows: WM_CLOSE + minimize; macOS: quit + hide — no force-kill), and re-closes them if reopened mid-phase. It never closes itself.
  • Websites (Windows only for now) — enter domains to block. While a Work phase runs they are redirected to a dead end (127.0.0.1 / ::1) in the system hosts file, so every browser is covered at once. Editing hosts requires administrator rights, so the Windows build requests elevation (a UAC prompt) at launch. macOS website blocking is not available yet.

Platforms

Windows 10 / 11 and macOS 10.14+ (Mojave and newer).

Install (beta testers)

Download the latest build from the Releases page and follow INSTALL.md. Builds are currently unsigned, so the first launch needs a one-time Gatekeeper / SmartScreen bypass (covered in the guide). After that, the app keeps itself up to date automatically.

Development

Requires the Flutter SDK (pinned to 3.44.2 in CI) with desktop support enabled.

git clone https://github.com/easyscripter/flow_fusion.git
cd flow_fusion
flutter pub get
dart run build_runner build --delete-conflicting-outputs   # generate code
flutter run -d windows   # or: -d macos

Generated sources (*.g.dart, *.config.dart, *.freezed.dart, lib/gen/) are not committed — run build_runner after cloning and after changing annotated code.

Tech stack

Flutter · MobX (state) · get_it + injectable (DI) · froom over sqflite (database) · go_router (navigation) · window_manager + tray_manager (desktop shell) · flutter_local_notifications · desktop_updater (OTA).

Releasing

Pushing a v* tag runs .github/workflows/release.yml, which builds Windows and macOS, publishes the OTA feed to GitHub Pages, and creates a GitHub Release with the installable ZIPs. .github/workflows/ci.yml runs analysis on every push/PR.

License

Flow Fusion is source-available, not open source. It is licensed under the PolyForm Noncommercial License 1.0.0: you may use, modify, and share it for noncommercial purposes only. The copyright holder retains all commercial rights. See LICENSE.md for details.

Support & feedback

Found a bug or have a suggestion? Please open a GitHub issue and attach your log file and diagnostics — see the Reporting problems section of INSTALL.md for how to grab them from Settings → Diagnostics.

About

Pomodoro timer with focus mode

Resources

License

Stars

5 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors