Skip to content

Repository files navigation

Flow

An adaptive, local-first workout app that builds today's session from your recovery, equipment, history, and goal—then adapts while you train.

Actual Flow tap-through: session summary, Coach, History, Settings, and Today

What makes it Flow

  • Adaptive generation — sessions are built from movement-pattern slots, your history, curated picks, and available equipment.
  • The muscle map is the fatigue model — accumulated work appears in-session, at the session summary, and in weekly history.
  • A player, not a form — one-tap logging, warm-ups, plate math, set types, rest control, substitutions, and focused exercise navigation.
  • Programs that respond — goal-driven plans adjust for progress, missed sessions, deloads, and available equipment.
  • Your training, kept — workout data lives locally and can optionally sync through a signed-in backup account or iCloud on iOS.
Workout preview Today Session complete History
A real Flow workout preview Today's adaptive plan Session summary Training history

Development

npm install
LANG=en_US.UTF-8 npx expo run:ios
npx jest
npx tsc --noEmit

Flow uses Expo SDK 57, React Native 0.86, Expo Router, Zustand, Drizzle, and Expo SQLite. The decision engine in src/engine/ is pure TypeScript and Jest-tested.

Optional AI voice requires EXPO_PUBLIC_GEMINI_KEY, documented in .env.example. Never commit a populated .env file. A public consumer build must not ship a provider key: EXPO_PUBLIC_* values are embedded in the app bundle, so route AI requests through a server before production distribution.

Privacy and capabilities

  • Workouts and preferences are stored on-device by default.
  • A signed-in account stores a full backup payload in Supabase; iCloud backup is available on iOS.
  • Apple Health is opt-in. When enabled, Flow reads sleep and may read/write strength workouts as described in the privacy draft.
  • Rest notifications are requested only when Flow needs to notify you that a rest timer finished.

See architecture, privacy, contributing, and security reporting.

Open-source and store-release status

The source release pack and store-listing materials live in marketing/. Exercise-media rights notice: the current 137 MB exercise image/GIF set is third-party material with unresolved redistribution rights and is explicitly outside the MIT license. Its presence in this repository is not a grant of any license or permission. Before redistributing, commercializing, or shipping it in a store build, obtain the required rights or remove/replace the media. See third-party asset status and the release checklist.

The iOS source configuration is validated for the current bundle identifier. Android package identity and adaptive-icon configuration are included, but the Android app and Play submissions still need device/build verification.

License

The Flow source code is licensed under the MIT License. Third-party assets and dependencies retain their own terms; the bundled exercise media is excluded until its redistribution rights are resolved.

About

Adaptive, local-first workout app built with Expo.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages