Obesity and associated health issues have become an epidemic in America. According to the National Institute of Diabetes and Digestive and Kidney Diseases 68.8% of adults are considered to be overweight or obese and 35.7% of them are considered obese. So far, most exercise apps have been unsuccessful in motivating people to stay healthy. Reppin looks to change that.
What it does
Repping utilizes social psychology combined with advanced technology to enable people to exercise. It uses proven scientific methods for motivating people to exercise when other methods fail. Reppin serves as a personal trainer and a friend throughout the process, constantly reminding the user of their stated goals. Reppin also features a repetition counter for exercises and analytics. This utilizes an advanced computer vision algorithm to distinguish repetition from the iPhone's camera input.
How we built it
We built Reppin in Xcode using Objective-C++ (A combination of Objective-C and C++) and Swift. We used openCV, an open source computer vision library, to perform the video analysis, and designed our own pattern recognition to identify individual repititions from that data.
Challenges I ran into
OpenCV is a very unstable library that tends to crash intermittently and cause merge conflicts on github. We struggled for a long time to make the app run consistently, but once we got it working we were quickly able to utilize the powerful framework to collect data for our pattern recognition algorithm. We also struggled with working on so many different computers. Due to the rapid release patterns of Swift, Xcode, and iOS, small version differences led to a multitude of issues that we had to address. On the psychological side, it was very difficult to apply some of the lessons we learned at the Code for Good workshops into the project.
Accomplishments that we're proud of
We are proud of overcoming the problems with openCV and Xcode so quickly. We are also very happy that we were able to complete the full functionality of our app in such a short time period, while making it visually appealing. In addition, we ulitmately succeeded in implementing a lot of the social psychology concepts that we learned about, which was a huge triumph as we had never attempted anything like this before.
What we learned
We learned to make sure to compare version numbers before every hacakthon. More importantly, we learned how to work with immense and unreliable frameworks, and to collaborate on a large project effectively. We also learned a significant amount about social psychology and the ways that it can influence app users.