Inspiration

During the COVID era, around 2018-2019, I struggled with obesity, and it deeply affected my social life. I often found myself unable to participate in the physical activities I wanted to join, and even when I tried, my body limited me, making it difficult to keep up. This was a turning point—I realized that if I wanted change, I had to create it. I began incorporating simple yet effective exercises into my daily routine, focusing on push-ups, sit-ups, and squats. Day by day, the consistency paid off. As my physique improved, I regained not only my physical abilities but also my confidence. I could now do things I once thought were out of reach. This transformation wasn’t just about fitness—it was about reclaiming control over my life. Today, I am passionate about promoting body positivity. I believe that everyone deserves to feel good in their skin and that working towards a healthier body can empower people to unlock new opportunities, both physically and socially. Maintaining a positive relationship with our bodies isn’t just about appearance—it’s about fostering self-respect and resilience.

What it does

Our project uses Mediapipe pose tracking models to create landmarks on the human body to track movements. With this, we can develop a program that identifies the type of workout a person does and creates a counter that tracks the number of reps completed for those specific workouts.

How we built it

We used OpenCV (Computer Vision) and the Mediapipe library, which helps in detecting poses. We used it to get landmarks for the exercises, and we utilized PyCharm Community to write the code.

Challenges we ran into

Some challenges we encountered were that certain landmarks used for specific exercises were also used in others, so sometimes the program would double-count a workout for two categories. We were able to work around this by creating specific cases that only apply to certain workouts; for example, workouts that involve standing have an extreme slope between the head and the feet, which we used as another parameter.

Accomplishments that we're proud of

One major challenge was ensuring that the program incremented only the correct workout counter without accidentally incrementing another. In the process of solving this problem, we conducted over a hundred different trials and spent multiple hours brainstorming together until we finally achieved a result we were proud of.

What we learned

We learned how to use different libraries like OpenCV and Mediapipe and implement them with PyCharm to bring our idea to life. Additionally, we used React JS and Flask to implement the front-end part of the code to launch the web application.

What's next for Pain4Gain

In the future, we hope to implement more exercises like lunges and planks, as well as add a calorie tracker and a motivational feedback system that encourages people to keep going.

Built With

Share this project:

Updates