Inspiration and Purpose
Exercising is an essential human need—one that will never fade with time. Still, many people put off entering the gym. Many factors contribute to this, including the intimidating nature of a space filled with seasoned gym rats who work out with effortless confidence. Contrastingly, a newcomer might often feel awkward, unsafe, or uncoordinated when attempting to follow along. These factors contribute to an entrance barrier that seems to only grow higher with each day one fails to step through the door.
This is supported by statistics. The National Safety Council reports that in 2021, 368,739 non-lethal exercise equipment-related injuries occurred in the U.S., along with 40,485 fatal injuries. Of the 368,739 injuries, 57% were suffered by men and 43% by women, indicating that gym-related injuries affect everyone. What's the leading cause? Improper form and overexertion, both of which stem from poor technique, with squatting being one of the most dangerous exercises to perform incorrectly. A badly executed squat can lead to severe injuries, particularly to the back, neck, and legs, resulting in life-altering consequences.
This is where SquatSpot comes in. Our mission is to free first-time lifters from these fears and build their confidence in the gym. As casual gym-goers ourselves, we’ve had our share of experiences—hesitating to squat due to injury concerns or unknowingly using improper form. We’ve seen firsthand the consequences of bad technique and the fear that holds people back from reaching their full potential. We understand what it’s like to feel out of place, second-guess every movement, and worry about injury instead of focusing on progress.
Changing that is our aim. We believe that not only knowledge but also sound technique is absolutely necessary for one to be confident while working out. A solid knowledge base, coupled with a safe and secure feeling during training, makes one more likely to push themselves and train with confidence.
By breaking down barriers to entry and making fitness more accessible, we aim to help individuals reclaim their confidence—not just in the gym, but in life itself.
How We Built It
Focusing on learning more than anything, we utilized React to create a simple and user-friendly UI, featuring a site with two panels, a logo, and a title card. During development, we sketched out different formats and templates to streamline the frontend-building process, always prioritizing simplicity and efficiency. We specifically implemented only three buttons to ensure that anyone could easily navigate the site, get the necessary feedback, and start working out.
We worked separately—one focusing on frontend and the other on backend—while maintaining constant communication, providing hourly updates and committing countless changes over Git. With different levels of experience, we embraced the opportunity to learn more about computer vision, large language models, and web development. By leveraging React and Mediapipe tutorials, we successfully built a functional site designed to assist both gym newcomers and veterans.
We also performed countless reps of squats in front of the camera and studied videos of professional bodybuilders and Olympic lifters to fine-tune the model. By making ourselves the test subjects, we were able to maximize the model's accuracy and improve our own form along the way, just as it will for others seeking better technique and injury prevention.
Challenges We Ran Into
Throughout our project, we encountered several challenges:
Communication Between Backend and Frontend The connection between the frontend and backend proved to be particularly challenging, as both recorded files and live recordings had to be sent to the backend, analyzed, and then returned with analysis results and an intuitive body tracker overlay. We overcame this challenge by utilizing URLs and directories to simplify video playback in the backend, ultimately transforming it into a learning opportunity.
Defining "Good Form" A major challenge was deciding which critical body points should form specific angles and at what degree they were considered "good form." We spent time testing by squatting in different positions, both incorrect and correct, to ensure our calculations and formulas were accurate. We also had to define what formulas from what parts of our bodies best showed good form. For example, we had to determine whether angles should be based on shoulder-knee-ankle positioning, knee-ankle-toe alignment, etc. When angles failed to provide enough accuracy, we resorted to using X and Y coordinates to improve precision. We also spent time deliberating and researching how to truly compare our squat to other forms. We decided on taking a sample of statistics from videos of the best lifters in the world, calculating their mean and standard deviation, and then calculating our z-scores based on that population. For a direct comparison, we compute the distance between the data and the compared data using weighted root mean square differences. Trial and error played a crucial role, from figuring out our joint measurements to their weights, helping us maximize the model’s accuracy.
Lack of Experience As freshmen, many concepts—such as machine learning models and tracking technologies like Mediapipe—were completely new to us. Additionally, our frontend team had limited experience, which required us to brainstorm creative solutions to streamline development. While inexperience slowed us down initially, it also forced us to collaborate more closely, strengthening our teamwork and problem-solving skills for future projects.
Accomplishments That We're Proud Of
We are proud of successfully integrating the frontend and backend while utilizing a strong model to calculate proper squat form numerically. By leveraging widely used technologies like React, Python, Jupyter Notebook, and NumPy, we created a functional product that can genuinely help gym-goers improve their workouts.
More than just a technical achievement, we are proud that our project has real-world applications. The ability to help people refine their form, prevent injuries, and build confidence is something we hope will make a lasting impact.
What We Learned
This project taught us countless new skills—from technical concepts like machine learning and web development to project management and teamwork strategies.
Beyond the technical knowledge, we learned the importance of constant communication and progress tracking to stay focused and aligned. We also recognized the value of taking initiative, knowing when to work independently and when to ask for help. Expressing technical challenges and solving them together helped us problem-solve more efficiently.
What's Next for SquatSpot
Our first goal is to expand beyond squats and incorporate other foundational exercises like bench press, deadlifts, and power cleans, which are also highly effective yet injury-prone.
Additionally, we want to enhance user experience by providing real-time auditory or visual cues, using an AI-generated voice to offer instant feedback rather than just written analysis.
Finally, we aim to train our model on millions of powerlifters and professional bodybuilders, making SquatSpot even more precise in scoring factors like depth, tilt, and grip position. By refining these details, we hope to help users achieve both better form and bigger gains.
Log in or sign up for Devpost to join the conversation.