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
Each phase is part of a state machine, enabling controlled transitions and event propagation.
1Hz engine cycle
Timer engine updates once per second, balancing efficiency with required precision.
Reanimated UI-thread animations
Animations run on the UI thread using Reanimated, avoiding load on the JavaScript thread.
File-based workout sharing
Workouts serialized into files for import, export and reuse across devices.
Tech Stack
- React Native
- Expo Router
- React Reanimated
- TypeScript