Project preview

Desktop

BreakMate

  • Flutter
  • Dart
  • Native Channels
  • ObjectBox
  • GitHub Actions

Project overview

A desktop app that nags you to stand up, stretch and look at something that isn’t a screen. Adaptive break reminders, focus tools and a customizable companion for macOS, Windows and Linux.

what went into it

  • 01

    Adaptive break scheduling, focus presets and full-screen break overlays.

  • 02

    Native meeting, presentation and idle detection, plus calendar-aware scheduling.

  • 03

    Multiple Flutter engines, native platform bridges and local-first analytics.

  • 04

    Automated desktop release workflows and macOS updates through Sparkle.

build log

How I built it.

The problem

Break reminders that interrupt a meeting or a presentation get uninstalled fast. BreakMate needed to know when to stay quiet, on three desktop platforms, from one Flutter codebase.

Architecture

Native bridges
Meeting, presentation and idle detection are platform-specific, so each OS has its own native implementation behind one Dart interface.
Multiple engines
The break overlay runs in its own Flutter engine, separate from the settings window, so it can go full screen without dragging the main app along.
Local-first
Break history and analytics are stored locally in ObjectBox. Nothing leaves the machine.
Releases
GitHub Actions builds each desktop target; macOS updates go through Sparkle.

What I’d change

  • Share less state between engines; a small message protocol would be easier to test than shared storage.
  • Write the native detectors first and test them on real calls before building the scheduler around them.
BreakMate: navy and brown project concept illustration
BreakMate: AI-generated concept artwork, not an app screenshot.
BreakMate: project screenshot
BreakMate: project screenshot
BreakMate: breakmate statistics
BreakMate: breakmate statistics
BreakMate: breakmate companion gallery
BreakMate: breakmate companion gallery
BreakMate: breakmate themes
BreakMate: breakmate themes
BreakMate: breakmate break templates
BreakMate: breakmate break templates
BreakMate: walkthrough
next project ichargeON