Inspiration
Our main inspiration for this project came from when we faced the issue of when we began to notice people around in social media or even in our own gyms who wanted to perform an exercise but weren't informed on how to maintain the correct posture or form. Most people work out or practice a sport without anyone watching their movement, and it’s hard to know what your body is actually doing. We wanted a simple tool anyone could use with just a phone video.
What it does
UltraFit is an AI-assisted web app that estimates your exercise form from a video. You choose an exercise (squats), upload a short video, and the app detects your body and measures the angles of your knees or elbows. It shows the smallest, largest, and average angle, a chart of the angle over time, and a frame with your detected body points drawn on it, along with general practice reminders. It also states its limits plainly. The app gives estimates only, can’t guarantee correct form, and can’t diagnose injuries.
How we built it
We built it in Python, with Streamlit for the website, MediaPipe to detect 33 body landmarks in each video frame, and OpenCV to read and process the video. For each joint, we take three body points (for example hip, knee, and ankle) and use basic trigonometry to calculate the angle at the middle point. We skip any frames where the AI isn’t confident about a joint, so the app doesn’t guess. We split the code into three files (the website, the pose-detection logic, and the exercise information) so new exercises are easy to add. We stored the project on GitHub for collaboration.
Challenges we ran into
Getting set up: we hit errors using git in Windows PowerShell and worked around them by uploading through the GitHub website. Version conflicts: the newest MediaPipe release removed the interface we were using, and MediaPipe doesn’t support the newest Python versions, so we had to pin specific package versions. Pose detection isn’t perfect: results depend heavily on the camera angle, lighting, and whether the whole body is in view, so we had to handle missing or low-confidence detections gracefully. Being honest about what AI can do: we had to design the app’s wording carefully so it gives measurements and reminders without claiming to judge form as “right” or “wrong.”
Accomplishments that we're proud of
We have a working prototype that goes from an uploaded video to real, measured joint angles. We tested the angle math and the video pipeline, so it isn’t just a mockup. We built the app with clear safety messaging from day one. We’re beginner programmers, and we turned an idea into a working AI app.
What we learned
How pose-estimation models work, and how to turn their output into useful numbers. How to use Streamlit, OpenCV, and MediaPipe together. That real-world software needs careful handling of bad input, such as blurry video, hidden limbs, and no person in frame. That collaboration tools like GitHub, virtual environments, and package versions matter as much as the code. That responsible AI means being upfront about uncertainty.
What's next for UltraFit
Automatic rep counting from the angle data. More measurements, such as hip and back angles. A workout log and progress tracking over time. Calorie estimates based on exercise type, duration, and body weight. Exercise recommendations based on a user’s goals and preferences. Putting it online so it works smoothly on phones anywhere.
Built With
- claude
- mediapipe
- python
- streamlit
Log in or sign up for Devpost to join the conversation.