Due to our shared love for running and understanding of running as well as frustration for constantly injuring ourselves as a result of improper coaching and therefore improper form, we decided to build Race Smart. Race Smart is a front-end application designed to use computer vision to undergo image analysis of the user’s running form to provide feedback to promote safer and more comfortable running.
Building the app required a multi-stage process, with many challenges. We began by splitting ourselves into two teams, one team was responsible for building the backend, and the other team was responsible for building the front end. The backend was a difficult process with many challenges involving hours of research on determining the desired running form to prevent injury as well as learning how to use computer vision for critiquing the individual. However, our experience in Python and backend code allowed us to power through and navigate this new development territory. On the other hand, the front end proved to be a far more challenging barrier for us to complete the project. To get the best results we attempted to create a full-stack development web app and use what we learned from workshops and YouTube tutorials to get it done as none of us had experience with React or Flask servers.
From this lack of experience, problem after problem occurred leading us to retrace our steps and restart, losing large chunks of time. Eventually, we realized the fault in our approach as after spending hours coding React and Python we could not get the Flask server to work and connect the back end to the front end. Acting quickly to problem solve and not waste any time we pivoted to using Streamlit, no longer creating a full stack development project. The past 24 hours have provided us with essential learning experiences which have allowed us to develop our problem-solving skills to achieve our goals. From a technical aspect, we have also learned a great deal, using languages which are almost completely new to us as well as models which we had to think on our feet to adapt to and learn how to use.
Apart from our problems as well we managed to build a working computer vision model, achieving the goal of the project which we initially set out to achieve, each roadblock served as a point to learn from and use in future projects and hackathons. Moving forward we would like to develop an extension of Race Smart called SoleMate which would analyze the user's foot position as they land (supination, pronation, or over-pronation), and use that information to recommend shoe options which can be affordable or luxurious to further prevent the risk of injury and allow for comfort, motivating novice runners to continue what they are doing as running is an essential skill for an individual of any age to have.
Built With
- flask
- javascript
- mediapipe
- opencv
- python
- react
- streamlit
- tailwind
Log in or sign up for Devpost to join the conversation.