FlowOS
A native iOS + macOS app for daily anchors across six life domains.
The problem
Productivity tools optimize for throughput — more tasks, faster execution, tighter tracking. But the things that matter most (health, relationships, creativity) don’t fit neatly into a task list. I needed a system that tracks balance across life domains, not just output — and I wanted it to feel like the rest of my operating system, not a cross-platform web shell.
The approach
FlowOS is built around anchors: small daily commitments spread across six domains — Health, Wealth, Creativity, Clarity, Exploration, and Relationships. Each morning, you set your anchors. Throughout the day, you check them in. Over time, patterns emerge. The native rewrite trades Capacitor for SwiftUI, replaces browser storage with SwiftData, and pulls in HealthKit so the app knows whether you actually moved today.
The weekly review surfaces patterns automatically — completion rates by domain, streak and gap detection, reflection prompts generated from the data. No manual journaling required; the system observes and surfaces what matters.
How it works
SwiftUI drives the interface across iOS and macOS from a shared codebase — iOS as a TabView, macOS as a NavigationSplitView sidebar. SwiftData holds the canonical anchor history on-device (CloudKit is intentionally off — cloudKitDatabase: .none) and a single NotionSyncService is the only sync mechanism — pulls on launch, pushes dirty data on backgrounding. Notion is the source of truth for the wider ecosystem: the macOS Widgets bundle, Vi3 Signal’s Python email suite, and the legacy web companion all read from the same database. HealthKit supplies ambient context (steps, workouts, mindful minutes) on iOS without manual entry. XcodeGen generates the project from project.yml so the repo stays diff-friendly.
Results
- Native iOS + macOS from a single SwiftUI codebase, on TestFlight at build 128
- HealthKit integration pulls step, workout, and mindful-minute data into the Health domain automatically
- Notion as sync backbone — the FlowOS Widgets, Vi3 Signal emails, and web companion all read the same data
- Six life domains tracked daily — Health, Wealth, Creativity, Clarity, Exploration, Relationships
- Manual weekly review — a guided flow that’s never auto-skipped; the point is to sit with the data