A fitness tracking app built for lifters who take their training seriously. Browse 1,500+ exercises with animated GIF demonstrations, build custom workout plans with drag-to-reorder, and discover pre-built training programs — all offline-first. Built entirely solo from scratch.
Browse 1,500+ exercises from the ExerciseDB database. Each exercise includes animated GIF demonstrations, step-by-step instructions, and an interactive muscle highlighter — tap any muscle on a full-body diagram to see which exercises target it.
Build custom multi-day plans with full drag-to-reorder support for both days and exercises. Edit day names, add exercises from the library, and organize your training week exactly how you want.
Browse and acquire pre-built training programs — filter by category (Strength, Hypertrophy, Beginner, Powerlifting) and pricing (Free / Premium). Acquired plans are fully editable.
Every feature works without internet. All data is stored on-device via WatermelonDB (SQLite) and syncs to Supabase PostgreSQL when a connection is available. Zero data loss, even mid-workout.
Designed for gym environments — high contrast dark UI that's easy to read between sets, even in dim lighting.
| Category | Technology |
|---|---|
| Framework | React Native 0.81 · Expo SDK 54 · New Architecture (Fabric) |
| Language | TypeScript (strict mode) |
| Navigation | Expo Router v3 (file-based routing) |
| Database | WatermelonDB (offline-first SQLite) |
| Backend | Supabase (Auth + PostgreSQL + sync) |
| State | Zustand + react-native-mmkv |
| Styling | NativeWind v4 + Tailwind CSS |
| Animations | React Native Reanimated 4 |
| Lists | FlashList 2.0 |
| Build | pnpm + Turborepo monorepo · EAS Build |
| Monitoring | Sentry |
| Optimization | React Compiler (automatic memoization) |
- Monorepo — pnpm workspaces + Turborepo (mobile app, planned web companion, shared packages)
- Offline-first sync — WatermelonDB on device ↔ bidirectional sync ↔ Supabase PostgreSQL
- Layered architecture — Screens → Components → Hooks → Services → Stores
- Built entirely solo from zero to production-ready
- New Architecture (Fabric renderer) enabled from day one
- React Compiler for automatic performance optimization
- Real offline-first — full local database with bidirectional sync, not cached API calls
- Custom drag-to-reorder built with Reanimated gesture handlers on the UI thread
- Interactive SVG body diagram with per-muscle tap detection
This is a showcase repository. The source code is maintained in a private repository.
I built Halterofit as a solo project to push my skills in React Native and production mobile development. This is an ongoing project — I'm actively building new features and refining the UX.
For a code walkthrough, live demo, or to discuss the technical decisions behind this project, feel free to reach out.
Patrick Patenaude

