Inspiration
Throughout the summer, many people, including myself, wish to workout and go to the gym. However starting a fitness routine with proper form and technique can be extremely difficult, especially if it's your first time working out. Personally, I did not have anyone to go to the gym with as often people were busy, causing proper form and technique to be difficult to learn. Online videos and articles can help however they do not always offer feedback to ensure that your form is the best that it can be. This experience was the inspiration needed to create our project. To address this, we created a website that allows users to input videos of their workouts, and then receive constructive feedback on how you can improve your form.
What it does
Formify is a web application designed to assist users with their exercising form through a video analysis. After opening the website, you can choose between the different options of where you want to go next. The options consist of “Home”, “About”, “Upload”, “Contact”. Once clicking on the video uploader option, you are given the ability to upload a video of you doing an exercise of your choice. Our program then determines what exercise you are doing, analyzes it, checks your form and then sends you constructive feedback on how to improve your form.
How we built it
We built Formify using ReatJS and TailwindCSS with Flask and Computer vision for our backend. We implemented media pipe and posenet to create joints on the body and provide us with angles needed for the software. When the user uploads their video, it is broken down into hundreds of frames to be analyzed and then re-compiled into a video. Based on this, we calculated angles and compared it to ideal cases allowing us to provide specific feedback on the processed video which send back and displayed to the user on the frontend.
Challenges we ran into
Ignition Hacks’ limited timeframe made it more difficult for us to implement all the features we wanted to. To combat this, we ensured that our time was spent wisely and efficiently. Furthermore, this was our first time coding with React and due to this we had to swiftly learn and adjust to this coding language.
Accomplishments that we're proud of
We are proud of several of our accomplishments in the development of Formify. The creation of a fully functional website and a smooth video output are two examples of this. We are most proud of our Mediapipie analysis and feedback creator.
What we learned
Throughout the development of Formify, we learned how to use and implement React and Mediapipe.
The creation of the website itself relied on using React. It allows for the creation of components that build up the website itself. These components can be reused. CSS code is used for the styling and making sure that the website is visually appealing. Combining CSS code with react is something else we had to learn.
Additionally, we learned how to use Mediapipe. Mediapipe’s pose detection is the program that we used to create the form analysis and feedback generator. The pose detector tracks human limbs and joints (we used joints for our project) from a video or image input.
What's next for Formify
In the future, we would like to expand our program to offer further exercises and form checkers. Additionally, we would like to add other activities such as yoga, stretching exercises, pilates, and more, offering advice on form and alignment. Ultimately, our goal is to create a fitness companion that helps users who wish to work out do so safely.
Log in or sign up for Devpost to join the conversation.