A dark-themed, privacy-first fitness app built with React Native, TypeScript, and Expo.
RawReps is an offline-first tracker for workouts and fasting. There are no accounts, APIs, trackers, or cloud services. Your data stays on your device.
Built out of spite after getting tired of ad-filled fitness apps and paywalls for basic features.
| Dashboard | Workout Tracking | Statistics |
|---|---|---|
![]() |
![]() |
![]() |
- React Native + TypeScript
- Expo
- AsyncStorage for local data persistence
- No backend or external APIs
- Log exercises with sets, reps, weights, and optional notes.
- View workout history and detailed workout information.
- Track total volume, average sets, workout streaks, and active days.
- Calculate workout statistics and charts locally from stored data.
- Start and stop fasting sessions.
- Track fasting duration and history.
- View recent fasting patterns.
- All fasting data remains stored locally on the device.
- Total training volume over time.
- Most active training days.
- Average sets per workout.
- Workout streaks and activity metrics calculated from local data.
RawReps is designed around local-first data storage.
- No user accounts
- No cloud services
- No tracking
- No external APIs
- No advertising
- Data is stored locally using AsyncStorage.
RawReps is intentionally lightweight.
The goal was to build a fitness tracker that gets out of the way instead of requiring an account, onboarding flow, subscription, or a pile of advertisements.
Also, I like dark green and dark grey.
- Fast streak analytics
- Custom fast durations (16:8, 20:4, OMAD, etc.)
- Export / import functionality
- QR-based workout sharing
- Maybe a lighter theme (but probably not)
Currently tested on:
- OnePlus Nord 2
Clone the repository and install dependencies:
npm install
Start the Expo development server:
npx expo start -c
MIT


