Inspiration
When you’re new to working out, it can feel like the only immediate reward is being sore the next day. Getting stronger takes time, so we wanted to give beginners a way to feel a little progress from their very first workout.
In an RPG, even a little XP feels worth earning when there’s a boss you want to beat. We wanted to bring that feeling to the gym. What if the squats you do today could help you take down a Stone Golem tomorrow? That’s the idea behind Fit Quest, a fitness RPG where every rep helps your character level up.
What it does
Pick a character, head to the gym, and choose a workout. Your webcam tracks your movement as you train, and each exercise builds a different stat.
- Biceps curls build Strength.
- Bodyweight squats build Agility.
- Sit-ups build Defense.
- Treadmill sessions build Vitality based on active time.
Take those stats into the arena and work your way through various bosses. Training on consecutive days will reward you with charges for an Ultimate attack. You can jump in as a guest with a local save or create an account to save your progress across your fitness journey.
How we built it
We started with a Figma Make prototype and built the browser game with React, TypeScript, Vite, and Tailwind CSS. MediaPipe Pose Landmarker tracks body landmarks directly in the browser. We use those landmarks to detect complete reps and measure sustained movement, then turn that activity into XP as you train. Supabase handles accounts and cloud saves of progress data. We built a shared guild quest with Databricks SQL and Lakehouse Federation, combining workout XP from all signed-in players so the guild can work toward a weekly XP goal.
Challenges we ran into
A pose model gives us a snapshot of where your joints are, but a rep happens over time. We had to track the phases of each exercise so that holding a pose or moving halfway through a rep wouldn’t keep earning XP. Running needed a different approach because the goal was sustained activity over time. We also had to make sure that retrying a cloud save after a dropped connection wouldn’t apply the same reward twice.
Accomplishments that we're proud of
We connected the whole loop. You can do a squat in front of your webcam, see your Agility XP go up, and take that stronger character into an animated boss fight. We’re especially proud that each workout builds a different stat, giving players a reason to try more than one station.
What we learned
Live feedback matters most when you can act on it. Seeing XP rise during a workout tells you the game registered your movement while you still have time to adjust. We also learned that tracking reps and tracking endurance are different problems, even when both use the same camera.
What's next for Fit Quest
We’d like to test tracking with more players across different rooms, lighting, and camera setups. We’d also like to add more equipment-free exercises and build new boss encounters that give players reasons to train different stats.
Built With
- databricks
- figma
- mediapipe
- react-native
- supabase
- tailwind
- typescript
- vite