App Interface
Key Features
Custom training creation
Create workouts and gym plans with reusable exercises, intervals and target sets.
Simple session controls
Pause, resume, skip or end a session with minimal interaction during training.
Training tracking
Track completed sets, weights, reps and workout progress during sessions.
Session history
Track completed sessions and review past training activity.
Import and export
Share and reuse workouts and gym plans through file import and export.
Exercise management
Manage reusable exercises with personal records and training history.
Multi-language support
Available in multiple languages for broader accessibility.
Implementation Details
State-based timer flow
Workout phases run through a state machine, keeping transitions and session controls predictable.
SQLite persistence
Workouts, gym plans, sessions and exercise data are stored locally using SQLite.
1Hz engine cycle
Second-level precision was sufficient for workouts, so the timer runs at 1Hz to reduce overhead.
Reanimated UI-thread animations
Animations run on the UI thread using Reanimated, avoiding load on the JavaScript thread.
File-based sharing
Workouts and gym plans serialize to files for import, export and reuse across devices.
Tech Stack
- React Native
- Expo Router
- React Reanimated
- TypeScript
- TanStack Query
- Jest