Most of the app is free, it covers the full workout experience and progress tracking with 80+ exercises. The one-time purchase unlocks multiple plans, custom movements, and the social/sharing features, mainly to pay for the infra.
The mobile app is React Native via Expo with Expo Router, NativeWind for styling, Zustand for state (every store is user-scoped via an AsyncStorage key prefix so account switches do a clean rehydrate, good way to have several using using the same app), Reanimated for animations, and react-i18next across six locales. The core workout loop is fully offline, and a Firebase layer sits on top for optional cross-device sync and the social features. Backend is a small workspace of Firebase Cloud Functions v2 that handle cross-user fan-out (friend requests, shared plans, shared movements) with rate limiting and anti-spam in Firestore triggers.
Published a few weeks ago, I can proudly but surprisingly see the daily usage increasing.
This is my first mobile app since a while (was doing some 10+y ago), keen for any feedback since it gave me the excitement of building some more.
Android only for now, iOS to be published soon.