Inspiration
We wanted to build an app that helps people stay on top of their fitness goals.
What it does
Motion will ask for the user to input their fitness goals along with a certain amount of money to pledge. Motion will then track the user's fitness schedule to see if they're staying on top of their goals. If the user does not meet their fitness goals, their pledge money is automatically donated to a charity of their choice.
How we built it
Motion uses the Apple Watch's built in accelerometer to identify different types of exercise. It stores each individual user's fitness goals into firebase, which is checked by a Node.js backend (running on AWS) to see which users have not met their goals. Payment is also done through the backend using the Stripe API. Exercise detection works by setting thresholds on the data received from the accelerometer, along with a little bit of machine learning to make detection more robust.
Challenges we ran into
- Identifying a wide variety of exercises.
- Making our app user friendly.
- Having the different components of our application communicate with each other i.e. recording amounts of exercise in firebase, checking the user's fitness goals, making stripe payments when the user does not meet their goals.
- Making exercise detection robust enough to detect exercises accurately, while avoiding false positives.
- Lack of sleep.
Accomplishments that we're proud of
- Our app detects three different types of exercises!
- It logs everything into firebase.
- The iOS app effectively communicates with firebase.
What we learned
- How to tune a feature detection algorithm.
- How to set up a backend that uses Stripe and express.
- How to make an apple watch application/iOS application that processes accelerometer data.
What's next for Motion
- Getting payments out of demo mode.
- Add more exercises.
- Make a website to nicely display a user's progress and fitness goals.

Log in or sign up for Devpost to join the conversation.