Inspiration

With the growing trend of exercising, we decided that it would be practical to create an app that supports people if they want to correct their form or workout in specific exercises.

What it does

SquidPose makes it possible for you to engage with any video in an innovative way. Watch a video, follow along and recreate the actions in real time!

If the algorithm feels that you may not be doing an exercise correctly (because of bad form) the video pauses and let's you know that there are areas of your body that are not in the right position. This feature also allows you to take spontaneous breaks without the need for you to manually pause the video 😉

How we built it

Built using Python 🐍, we get pose data from a .mp4 file using BlazePose and compare it frame by frame to the real-time pose data from the webcam. If the comparison is not successful, then the video pauses and highlights at most 5 markers on the body which the user has to adjust to correct their form.

Challenges we ran into

The need to learn the large opencv and mediapipe libraries were the main challenge that we needed to overcome as it limited our ability to utilise it optimally and efficiently. Additionally, when we finally implemented the script, we realised that deploying it on a webpage was not possible as opencv is not supported by HTML, we needed to replicate the use of the libraries in Javascript which none of us knew. Hence, we were unable to create a webpage for this product and had to restrict ourselves to Python's GUI using the tkinter library :(

Accomplishments that we're proud of

Working with real-time data alongside computer-vision was a complex task that we felt achieved to have accomplished. Devoting ourselves to complete the project to the best of our abilities before sleeping, leading us to stay overnight in uni 🫨.

What we learned

We felt that we got the important hidden takeaways from hackathons - connection, teamwork, and resilience.

What's next for SquidPose?

It goes international and becomes a billion dollar company. For real, we would like to tweak our comparison logic to make the video playback smoother.

Built With

Share this project:

Updates