Inspiration

I wanted to get into home workouts, but honestly, most fitness apps are just glorified video players. You follow along, but nobody is there to tell you if your form is actually right, which can easily lead to bad habits or injuries. I wanted to build an app that actually watches your movements and gives real-time feedback, acting like a personal trainer right in your phone.

What it does

Fitte is an AI workout coach that tracks your body using your phone's camera. Right now, it perfectly handles squats and jumping jacks. It draws a neon skeleton over your joints on the screen, automatically counts your reps by calculating your joint angles, and gives voice feedback to correct your form. I also added an XP and streak system to gamify the experience and keep people motivated.

How I built it

I built the entire app using Flutter and Dart. For the AI vision, I used Google ML Kit Pose Detection. Everything runs completely locally on the device, which means there's no network lag and user privacy is protected. I wrote a custom state machine to track the biomechanics. For example, to figure out if a squat is valid, I track the knee flexion angle $\theta$ using the dot product of the vectors formed by the Hip, Knee, and Ankle: $$ \theta = \cos^{-1}\left(\frac{\vec{A} \cdot \vec{B}}{|\vec{A}| |\vec{B}|}\right) $$

Challenges I ran into

The absolute hardest part was the coordinate geometry. For a long time, the app kept drawing the skeleton squished on the floor and rotated 90 degrees. I realized Android camera sensors feed raw landscape data, but my app was rendering in portrait. I had to figure out the exact matrix transformations to rotate, scale, and mirror the $(X, Y)$ coordinates so the green skeleton actually locked onto my body in real-time. It was a massive headache to debug.

Accomplishments that I'm proud of

I am really proud of fixing that coordinate bug and getting the tracking to work flawlessly. Building this whole thing as a solo developer in just a few days was intense, but seeing the rep counter go up automatically while the UI—which uses a really nice frosted glass effect—updates smoothly is super rewarding.

What's next for Fitte

My immediate next steps are adding more home exercises like pushups and planks. After that, I plan to integrate RevenueCat for a "Pro" subscription tier, refine the overall UI/UX, and actually launch this on the Play Store and App Store.

Built With

Share this project:

Updates