App Interface
Key Features
Custom workout creation
Create workouts by defining exercises, intervals and durations.
Simple session controls
Pause, resume, skip or end a session with minimal interaction during workouts.
Session history
Track completed workouts and review past sessions.
Workout import and export
Share and reuse workouts through file import and export.
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.
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 workout sharing
Workouts serialize to files for import, export and reuse across devices.
Tech Stack
- React Native
- Expo Router
- React Reanimated
- TypeScript