Inspiration
LiftSafe is inspired by our friend Abhiroop Yalavarthi who has always made sure that we had good form while weightlifting so as to not injure ourselves. Research shows that he was strict for a good reason because having poor technique (ex. overloading joints) shifts stress from muscles to ligaments, tendons, and discs causing straining and long-term damage. Over 1 million gym-related injuries are treated in the US annually, with the majority caused by poor form rather than accidents. Most people can't afford a personal trainer to catch these mistakes, so they develop bad habits that compound over time into chronic joint and back problems. LiftSafe is injury prevention infrastructure: real-time feedback that catches dangerous form before it becomes a long-term health issue.
What it does
LiftSafe is a real-time weightlifting coach that evaluates a user's form while performing squats, bicep curls, and push ups. LiftSafe automatically detects reps and throughout your set, Abhiroop provides live audio and text feedback to the user. With support for 14 different languages and 7 customizable color palettes, LiftSafe is designed to be accessible and personalized to every person.
How we built it
LiftSafe uses OpenCV and MediaPipe to detect and extrapolate 33 landmark poses to identify full-body pose tracking. Using the primary angle between different landmark poses, the program calculates the range of motion and sends that information to the backend. The data feeds into the Gemini API and ElevenLabs to generate and vocalize personalized form feedback in the user's language of choice.
Challenges we ran into
- Detecting when a rep has started/completed using live feed
- Exceeding the limits of our API keys
What we learned
- Polymorphism and inheritance is actually useful
- You can't start the frontend without running the backend
What's next for LiftSafe
In future versions, we're hoping to train a classifier to identify good/bad form. We would also like to add more coaches, more exercises, and display a post-set summary to identify the average form score, most common fault, and a simple line chart of form over time.
Log in or sign up for Devpost to join the conversation.