Nowadays, there are many people new to working out trying their best to get into fitness. However, some may not be using proper form, which can lead to serious injuries. As such, we wanted to mitigate this risk and help others get in shape in a safe manner through our combined knowledge of technology and fitness.

What it does

GymRat provides a fast and accurate personal training service through any web connected device. By simply uploading photos (and in the future, videos) of workouts, users can make use of our machine-learning based computer vision system which will estimate their pose and provide feedback on their form for them to improve their workouts.

How we built it

We built GymRat in two main portions: machine-learning/computer vision and web development. For the machine-learning based computer vision portion, we used TensorFlow with a library called PoseNet, which allowed us to estimate human poses and determine if users were following proper form. On the other hand, we developed a website that provided a clean interface for users to submit their workout photos/videos for analysis.

Challenges we ran into

Our biggest challenge was that we were unable to integrate video based analysis and feedback. This was due to a combination of both time constraints and our own understanding of TensorFlow.js development.

Accomplishments that we're proud of

Being able to pick up machine-learning and computer vision within a short amount of time is something we're extremely proud of.

What we learned

Everyone was able to pick up on something new, whether it was on the machine-learning computer vision side or the web development side. This includes: how web applications are built, source version control, and computer vision limitations.

What's next for GymRat

We'd love to dig deeper into video analysis and feedback as it was one of our biggest challenges. Additionally, making a dedicated mobile application will help us reach a significantly larger number of people (everyone takes their phone to the gym).

Share this project: