SuperPower (ex. WorkoutMe)
Fitness app with 1–5 minute home workouts, no equipment needed.

SuperPower screens from the App Store: workouts, profile and progress reports.
January–February 2022 · React Native frontend
My role
I built the progress screen from scratch: profile, report carousel, calendar, weekly chart, streak, friends’ activity and doodle gallery. I introduced TypeScript, path aliases, typography and shared style mixins for the new screen within an existing JavaScript codebase.
- Progress screen
- Workout calendar, streak and activity chart
- Data and state
- Loading reports from Firestore
- Workouts and video
- Short workouts and on-device video
The business problem
An avatar and a few counters did not show training trends. User totals, monthly data and weekly slices lived in separate Firestore documents and had to become a clear screen that also worked on lower-end Android devices.
Progress screen
Workout calendar and statistics
The profile header shows the avatar and city. The calendar marks workout days, the chart shows weekly activity, and counters display the current streak and total workouts.


Reports in a carousel
Monthly reports are swipeable cards, rendered as the user browses rather than loading the entire history at once.
Friends’ activity and doodle gallery
Friends’ activity and the author’s workout doodles complement the screen. Paid reports have dedicated SuperPower placeholders.
Data and state
Loading screen sections independently
User totals, the monthly document and the last seven days are read independently from Cloud Firestore. The screen can display available blocks without waiting for every report.
Profile
The user’s avatar and city.
Totals
Current streak and total workouts.
Month
A document for the calendar and report.
Week
A separate slice for the recent activity chart.
Engineering details
Typing the new screen
I built the screen in TypeScript within a JavaScript project. I added path aliases, typography and shared style mixins that the team later used elsewhere.
State and access
The application uses Redux and React Navigation. RevenueCat connects access to paid reports to the SuperPower subscription.
Workouts and video
Workouts lasting 1–5 minutes
SuperPower offers equipment-free workouts lasting 1–5 minutes. Completed workouts appear in reports on the progress screen.




Engineering details
Video on the device
The app downloads a video archive from the CDN and extracts it on the device. Workout videos play locally. Firebase Performance tracks downloads.
App builds and updates
The existing project uses Fastlane and GitHub Actions for builds, and CodePush for small updates.
Outcome
Profile and workout reports
I built the progress screen: profile, calendar, weekly activity chart, workout streak and friends’ activity. I added TypeScript and shared styles for the new screen within the existing app.
- 4,6
- average App Store rating across 559 reviews
- 350+
- guided exercises with video in the catalogue
Stack
- React Native
- TypeScript
- Redux
- React Navigation
- Firebase
- Cloud Firestore
- RevenueCat
- CodePush
- HealthKit
- Fastlane