5X Fitness
5X Fitness is a fitness habit-tracker I'm building end to end on Flutter and Firebase — gym attendance, a daily plank habit, workout logging, and body progress, all bilingual from day one. It's not a workout-video app; it's built around the boring, high-leverage habits that actually compound: did you show up, did you log the set, is the plank target still climbing.
The app runs on three fully isolated Firebase projects (dev/staging/prod), each with its own application id and its own App Check enforcement — production gets Play Integrity / App Attest even if a release build is accidentally compiled in debug mode, so a stray debug token can never reach it.
What the app does
Check-ins against a weekly target, with streaks and history — the habit the rest of the app is built to reinforce.
A timed daily plank whose target climbs on its own as you keep showing up, until you set one yourself.
Exercises, sets, and weights in kg or lb, picked from the bundled library or typed freehand.
42 movements across Push/Pull/Legs/Upper/Lower, each with bilingual instructions and suggested sets/reps/rest, and 32 with a reference drawing that crossfades between the start and end of the lift.
Measurements and InBody figures charted over time, feeding recommendations read directly off your own record.
A plain-language privacy screen that also exports everything the app holds about you as a file you can share out — not just a policy link.
How it's built
5X Fitness is structured with Clean Architecture using Riverpod for declarative, reactive state management and GoRouter for deep-linkable navigation. The persistence layer integrates Firebase Authentication with Cloud Firestore for real-time habit tracking and user metrics, alongside Firebase Storage for progress media. The client enforces robust offline caching so gym logging continues seamlessly without internet connectivity, automatically syncing when connection is restored. Security is enforced through Firebase App Check with Google Play Integrity attestation.
See it in action















Real engineering challenges
Maintained three isolated Firebase projects (dev, staging, production) with distinct application IDs, environment-specific configurations, and automated App Check token management, ensuring development experiments never impact production data.
Gym basements often have zero cellular connectivity. Built an offline-first caching mechanism for workout sets, plank timers, and attendance checks, queuing mutations locally and synchronizing seamlessly upon reconnection.
Designed an in-app privacy center empowering users to review, export their complete workout history and InBody metrics as a portable file, or execute full account deletion compliant with Google Play guidelines.
