Inspiration
I believe that if you want to make progress, you need to track it — and fitness is no different.
I’ve tried many fitness apps over the years. Each one was unique in its own way, but I kept running into the same problem: most workout tracking was still manual.
When I first started working out, I also wished I had something that could do more than just track my workouts. I wanted something that could understand my movements, count my reps, and eventually tell me when my form was wrong.
That idea became the seed for FitLogAI.
What it does
FitLogAI uses AI to make workout tracking more automatic.
Users can select the muscle group they want to train and choose from workouts targeting that muscle. Once the workout starts, FitLogAI uses on-device pose detection to understand the user's movement and automatically count reps.
The goal is simple: focus on your workout and let FitLogAI handle the tracking.
How we built it
FitLogAI is built with Flutter as a cross-platform application for iOS and Android.
It uses on-device AI for real-time pose detection and Rust for performance-intensive pose calculations and workout detection.
A major focus while building FitLogAI has been performance. Workout detection needs to happen in real time, so keeping the processing fast and responsive has influenced many of the technical decisions behind the app.
Challenges we ran into
One of the biggest challenges was performance.
In the early versions of FitLogAI, pose detection and rendering were much slower than I wanted. Initially, I relied heavily on existing packages, but eventually reached a point where they limited how much I could optimize.
That pushed me to step outside those abstractions and build more of the performance-critical parts myself. Using Rust alongside Flutter and taking greater control over the processing pipeline played a major role in improving performance.
Another challenge has been designing the workout detection system so that it can continue improving over time. I want to eventually update and improve detection logic without requiring users to download a new version of the app every time. This is something I’m still working on, but solving it has already taught me a lot about how to architect the application.
Accomplishments that we're proud of
One of my biggest accomplishments is seeing FitLogAI evolve from a simple idea for counting reps into a real working product.
I’m particularly proud of the performance improvements made along the way. Moving beyond existing packages, building performance-critical components myself, and combining Flutter, on-device AI, and Rust helped turn an early prototype into something that can track workouts in real time.
More than any single feature, I’m proud that I kept improving the product instead of settling for the limitations of the first implementation.
What we learned
FitLogAI has taught me a lot technically — from real-time pose detection and performance optimization to integrating Flutter with Rust and designing an AI-powered mobile application.
But one of my biggest learnings wasn't technical.
There were many times when I ran into problems without knowing the solution. Building FitLogAI taught me that if I keep experimenting, learning, and working on a problem, eventually I find a way forward.
That mindset has become one of the most important things I’ve taken away from building this project.
What's next for FitLogAI
FitLogAI started with rep counting, but the long-term vision goes much further.
The next major goal is to make FitLogAI understand not only how many reps you perform, but also how you perform them — detecting incorrect form and helping users improve their technique.
I also want to build a stronger community experience around workouts, including challenges where users can compete with each other, such as weekly push-up challenges and other fitness competitions.
The goal is to keep making FitLogAI smarter so that workout tracking becomes something you don't have to think about.
Log in or sign up for Devpost to join the conversation.