Back in our day... We were young and innocent students who graduated after A Levels. Next thing we knew, "KNOCK IT DOWN!" and we were facing the ground. Push-ups were an integral part of our National Service days. Not only were push-ups meted out as punishments, but they were also a requirement in our Individual Physical Proficiency Test (IPPT). Many of us struggled to beat the Electronic IPPT Scoring System (ELISS) when it came to push-ups. We remember the days when the ELISS nagged at us incessantly: "No count! No count! Straighten your arms! No count! Straighten back!" because of our slightly imperfect form while it persistently refused to count half the push-ups we did. I vividly remember the time I was 1 point shy of IPPT Gold. If only I had a way to turn back time and do 1 more perfect push, I would have gotten the extra $100 incentive for achieving IPPT Gold...
Fueled by the same anger and hatred for the ELISS, we have decided: we need a way to train our push-ups to perfect form anywhere, anytime. And thus, Knock It Down came to light.
What it does
With the Knock It Down application, anyone can perfect their push-up form anytime and anywhere. Using our mobile device, the front camera tracks push-ups for a set duration of time. Every time a push-up is done with perfect form, the application counts that push-up and alerts us. Conversely, whenever a push-up is done with an imperfect form, the application ignores that push-up and gives the user constructive feedback on improving his/her push-up form.
How we built it
Our application was built purely on the front end with React and Tailwind CSS. Our push-up recognition model was implemented with Tensorflow.js. To tie things up, we did hundreds of push-ups to feed the model a sufficiently large amount of data for training.
Challenges we ran into
Integrating the machine learning model into our application was tough as none of us had the experience dealing with the technical intricacies of such technology. Hence, we spent the bulk of our time doing so. Besides, we had to brainstorm and develop a mathematically-sound algorithm to keep track of a proper push-up repetition which took us quite a bit of time too.
Accomplishments that we're proud of
Seeing the push-up count increase every time a correct repetition was made for the first time was a satisfying moment to savour. We are proud that our application can discern between proper and improper push-up forms, which we thought would be hard to achieve within 24 hours.
What we learned
After countless push-ups, we know the essence of a good push-up. Not only did we achieve so much in the physical aspect, but we also gained a lot of knowledge in web development. We have become a tad more proficient in knowing how to utilise available technologies and integrating distinct components together to form a comprehensive application that might be sought after by our target audience, the individuals who want to beat the ELISS system.
What's next for Knock It Down
IPPT does not only consist of push-ups but includes sit-ups too. Hence, we look forward to expanding the application's features to include sit-ups. Other exercises, such as pull-ups and dips, can be integrated into the application, so our target audience can be scaled up to include callisthenics enthusiasts. We may potentially add an option for the user to play certain parts of his favourite songs from music streaming applications, such as Spotify, while he or she is working out as a form of motivation.