squat_buddy
Python application that gives you biomechanical feedback on your squatting form!
I developed a python app that uses Google’s movenet to give you feedback on your squatting form.
Learnings
- SWE: Deploying a complex app: this was a 3 step process: developing the model, then deploying a complex environment to host my model, the putting together the web app
- ML: Stiching together different models: I went through a variety of ideas, but the most reasonable was using a lightweight 2D model feeding into a lightweight MLP/RFR.
- A bunch of the extra stuff in between: There was a lot to be learned from building, but I learned a lot from the physical deployment stuff, such as building Docker files, and working with a variety of services to develop, build, and host this app (e.g. GCP, AWS S3, EC2, Heroku, etc.)
Features
- squat_buddy can project google’s movenet model onto a video of you squatting
- Defect detection: I trained a variety of models (random forrest, MLPs: essentially a lightweight model that can run inferences fast!)
- Reasonable-speed video processing: processes videos at a reasonable pace for you to analyze your form during your rest!
In Progress
- Making the model faster. Currently, I have deployed my model as a microservice, and use this exposed endpoint to make batch calls a bit more efficient.
- Increasing the accuracy of the model: currently, the model is a multi-class classifier. I have the app working (which is cool), but I am diving deeper on making this model a bit more robust.
Finally, here’s a sketch of the system I designed to host SquatBuddy:
Feel free to checkout my project here!