The three main features of this app are live leaderboards, machine learning recognition & mistake detection, and augmented reality training through demonstration.
Firstly, whenever the user boosts up an exercise session, this app would enter a full-screen live camera feed, which it would use alongside a custom trained machine learning model to recognize whenever the user has done a correct exercise (namely push up for the purposes of this project) or made a mistake in doing so. If the user is recognized to have correctly done an exercise, then the local exercise count would be incremented by one. If the user is detected to be doing the exercise, though some mistakes are made (the hips being too high / low, the arm (shoulder) placement being too wide, etc.), then the user would be notified through the feedback label with a suggestion on how to improve, and the exercise count will not be incremented in this case.
Secondly, the user will have an option of viewing a 3D model of a person doing the exercise in augmented reality in front of their eyes in real life, giving them the perfect opportunity to learn from demonstration if they are struggling to perform a standard, correctly done push up. This enhances and completes the user experience of training with and learning about (& improving with regards to) exercises.
Lastly, there will be three leaderboards in this app that records how many exercises (push ups) the user has successfully done (recognized as a push up by the app, which would also keep count in the device’s local data storage). The differences between these leaderboards are the time frame in which the total exercise count (or score) of the user is kept active; one leaderboard would update and refresh daily, the other would update and refresh weekly, and finally, there would be a leaderboard that keeps track of the all-time exercise count.