Focus timer
Run structured focus sessions with clear visual progress and gentle transitions between work and rest.
Android · iOS planned
Independent product engineer
Calm focus timer, ambient soundscape, and session reflection
Focus Flow is a Flutter focus product built around a calm timer, ambient soundscape, and insight/reflection views. Sessions, preferences, and progress stay local-first so deep work remains reliable offline, while optional sound packs load on demand.
Challenge and role
Independent product engineer
Challenge
Build a focus product that feels calm in daily use while keeping core timer sessions reliable without requiring a constant network connection.
Responsibilities
Approach
Ship a local-first Flutter architecture with clear boundaries for timer state, ambient audio, and session insights, plus production store delivery and optional cloud-hosted sound packs.
Visual proof
Watch a short silent demo, then inspect the three current product stills.
Product stills
Select a screen to inspect
Capabilities
Capabilities visible in the current product media, delivered as one coherent system with local persistence between sessions.
Run structured focus sessions with clear visual progress and gentle transitions between work and rest.
Set the atmosphere with ambient audio controls designed to support concentration without cluttering the session UI.
Review completed sessions and reflection cues so progress stays visible after the timer ends.
Engineering
Ownership includes architecture boundaries, delivery readiness, and the stack that keeps the product maintainable after release.
Drift and SQLite keep tasks, sessions, and progress dependable without a network connection.
Riverpod separates timer state, task workflows, settings, and persistence into maintainable boundaries.
RevenueCat supports subscriptions while Supabase delivers optional ambient sound packs on demand.
Stack
Outcome
Focus Flow is live on Google Play as a solo-built, actively maintained product with a complete timer, soundscape, and reflection experience.
Next step