Inspiration
Our project was inspired by the challenges many students face when trying to maintain a consistent fitness routine, especially during their freshman year. Transitioning to university life often comes with busy schedules, academic pressures, and changes in lifestyle, making it difficult to stay active. Many students struggle to find workouts that suit their fitness level or push themselves too hard without proper guidance, leading to burnout or injury.
To address this, we designed a smart fitness assistant that personalizes workout recommendations based on the user's fitness app profile. It also features real-time heart rate monitoring to help users stay within an optimal workout range—alerting them if they’re overexerting. By providing tailored guidance and instant feedback, our goal is to make fitness more accessible and sustainable for students and anyone looking to build a healthier routine.
What it does
Our project is a smart fitness assistant that provides personalized workout recommendations based on your fitness app profile. By analyzing user data such as fitness level, goals, and past activity, it tailors exercise plans to maximize effectiveness. Additionally, it features real-time heart rate monitoring to help users maintain an optimal workout intensity. If the system detects that a user is overexerting themselves, it sends alerts to prevent potential strain or injury. Conversely, if the heart rate remains too low for effective training, it prompts the user to increase their effort. This ensures a safer and more efficient workout experience, helping individuals stay on track with their fitness goals.
How we built it
We built our project using an Arduino Uno paired with a heart rate monitor to measure and display real-time heart rate data. The Arduino collects heart rate readings and processes the data to determine workout intensity. To create a user-friendly interface, we used Streamlit, which allows users to visualize their heart rate data and receive feedback on their workout performance. The system alerts users if their heart rate is too high, ensuring they stay within an optimal exercise range. By combining hardware for real-time monitoring with a streamlined software interface, our project provides an interactive and efficient fitness tracking experience.
Challenges we ran into
We tried using different types of microcontrollers (Raspberry Pi, ESP32, ESP8266) in order to achieve our goal of interfacing with a web interface, but we ran into various hardware issues. Many of the ESP chips that we were able to get our hands on were inexplicably broken, and the Raspberry Pi took a great deal of time figuring out how to set it up. Once we did set up the Raspberry Pi, we came to the realization that it was not capable to handling the sensor's analog outputs by itself; this was when we made the decision to move to a more reliable Arduino board. In hindsight however, it would've been possible to parse the analog outputs using an Arduino and communicating to the Raspberry Pi. Had time not been a constraint at this point, this certainly would've been our final implementation. We also had troubles with our heart rate sensor reading; we were not able to secure proper electrode contacts, and so the heart rate sensor we had access to was finicky and inaccurate.
Accomplishments that we're proud of
Despite the time constraints of a 24-hour hackathon, we were able to build a working prototype that demonstrates the potential for personalized fitness tracking. Overcoming hardware limitations, debugging integration issues, and refining our algorithm in such a short period is something we’re especially proud of.
What we learned
Throughout this project, we gained valuable experience in both hardware integration and software development. Working with the Arduino Uno and heart rate monitor taught us how to handle real-time data acquisition, process sensor inputs, and optimize data transmission for accuracy. We also improved our debugging skills, especially in troubleshooting sensor inconsistencies and ensuring stable readings.
On the software side, using Streamlit allowed us to explore rapid prototyping for user interfaces. We learned how to efficiently visualize data and create an interactive experience that provides real-time feedback to users. Additionally, we gained a deeper understanding of balancing hardware and software constraints, ensuring smooth communication between the two.
Beyond technical skills, we also learned the importance of collaboration and time management, especially in a 24-hour hackathon setting. Prioritizing tasks, quickly iterating on ideas, and troubleshooting under pressure were key takeaways that will benefit us in future projects.
What's next for Freshman Fitness
To incorporate checking if the heart rate is too low as well. Currently, we only alert users if they seem to be exerting themselves more than their profile would suggest. A nice place to expand functionality would be to indicate if users could potentially be pushing themselves more.
Log in or sign up for Devpost to join the conversation.