Living a healthy and balanced life style comes with many challenges. There were three primary challenges we sought to resolve with this hack.

  • the knowledge barrier | “I want to work out, but I don’t exactly know what to do”
  • the schedule barrier | “I don’t know when to workout or for how long. I don't even know how long the workout I created is going to take.”
  • the motivation barrier | “I don’t feel like working out because I’m tired.” Furthermore, sometimes you feel awful and don’t wish to work out. Sometimes you work out anyways and feel better. Sometimes you work out anyways and feel worse and suffer the next day. How can we optimize this sort of flow to get people consistently feeling good and wanting to workout?

What it does

That's where Smart Fit comes in. This AI based web application takes input from the user such as time availability, focus, and mood to intelligently generate workouts and coach the user to health & happiness. The AI applies sentimental analysis using AWS API. Using keyword analysis and inputs from the user this AI predicts the perfectly desired workout, which fits into their availability. Once the AI generates the workout for the user, the user can either (1) schedule the workout for later or (2) workout now. Twillio is used to send the workout to the users phone and schedules the workouts. The application uses facial emotional detection through AWS to analyze the users' facial expression and provides the user with real-time feedback while they're exercising.

How we built it

The website and front-end was built using HTML5, and styled using CSS, Adobe Photoshop, and Figma. Javascript (both vanilla and jQuery) was used to connect most HTML elements to our backend. The backend was built as a Python Flask application. While responsible for serving up static assets, the backend was also in charge of crucial backend processes such as the AI engine utilized to intelligently generate workouts and give real-time feedback as well as the workout scheduler. We utilized technology such as AWS AI Services (Comprehend and Rekognition) and the Twilio API.

Challenges we ran into

We found that the most difficult portion of our project were the less technical aspects: defining the exact problem we wanted to solve, deciding on features of our app, and narrowing scope enough to produce a minimum viable product. We resolved this be communicating extensively; in fact, we argued numerous times over the best design. Because of discussions like this, we were able to create a better product.

Accomplishments that we're proud of

  • engineering a workout scheduler and real-time feedback engine. It was amazing to be able to make an AI application that uses real-time data to give real-time feedback. This was a fun challenge to solve because of all of the processes communicating concurrently.
  • becoming an extremely effective team and great friends, despite not knowing each other beforehand and having diverse backgrounds (we're a team of a chemical engineer, an 11th grader in high school, and a senior in college).

What we learned

We learned many new technical skills like how to integrate APIs into a complex application, how to structure a multi-purpose server (web, AI engine, workout scheduler), and how to develop a full-stack application. We also learned how to effectively collaborate as a group and how to rapidly iterate and prototype.

What's next for Smart Fit

The development of a mobile responsive app for more convenient/accessible use. We created a mockup of the user interface; check it out here! Using google calendar API to allow for direct scheduling to your Google account and the use of google reminders. Bootstrap will be used in the future to allow for a better visual and user experience of the web application. Finally, deploying on a cloud platform like GCP and linking the app to a domain

Share this project: