Inspiration
In today's world, many people push their bodies to the limit, trying to achieve their desired weight or physique, only to ignore the signals their body is sending. This "no pain, no gain" mentality can be dangerous, leading to injuries, burnout, and a disconnection from your true potential. It's time to change that narrative. Instead of focusing solely on the end goal, let’s put the focus on listening to your body, respecting its limits, and working in harmony with it. True progress comes from knowing when to push harder and when to recover, all while maintaining a balanced, sustainable approach to fitness.
What it does
Imagine knowing exactly how your heart, body, and environment respond as you move, not after, but during your workout in real time. Whether you're lifting, running, cycling, or stretching, our ZotFitness keeps you in tune with your body, helping you optimize every rep, push your limits safely, and recover smarter. This is more than fitness tracking — it's a step toward peak performance, injury prevention, and deeper self-awareness.
How we built it
The project required both software and hardware to complete it. For the hardware, we connected sensors to the ESP32S3 microcontroller through I2C protocol. Then, we programmed the ESP to gather data from these sensors and had the ESP connect to WiFi. The data was then uploaded onto Amazon Web Services’ IoT platform via AWS IoT Core.
For storing data we get from the sensors, we managed the database architecture using Amazon DynamoDB within the AWS Console. The board sent MQTT messages to the AWS IoT core, then several rules were set on the core. With an SQL statement and Python-based Lambda function, we successfully split the given payload into attributes and stored them in the DynamoDB.
After sensored data was stored into DynamoDB, because React doesn't have a efficient way to to get data from DynamoDB so we use Python FastAPI first to create APIs service that allow us to retrieve data from the DynamoDB, and then utilize axios library in React to communicate with FastAPI service to get data visualize on our user interface. As for our user interface, we utilized tools like FigJam to draft our initial idea and then chose React for the minimalist, modern, and interactive interface. We also decided to incorporate Gemini API to create additional depth for our project.
Challenges we ran into
We had trouble with our microcontrollers. At first, we used the Arduino R4 WiFi; however, after a bit of research and testing, we realized that it couldn’t connect to AWS. Due to this, we had to switch to the ESP32S3 Dev Board. However, this broke the serial monitor, and we had to debug that too.
Unfortunately, we could not get our pulse sensor or accelerometer on time from Amazon due to the limited parts being offered during the BitHacks. However, we tried our best to mimic the sensor data like a real person to at least show what we can potentially do.
In the software aspect, we had trouble deciding on the database management flow. Initially, we chose DynamoDB because it’s more compatible with IoT projects, benefiting from its low latency and NoSQL. However, we had trouble fetching data from the database with React. We first tried three different methods, but none of them worked.
Accomplishments that we're proud of
We’re glad that we were able to finish in time. Our team had to overcome multiple obstacles and limitations while building our device. These all required time, but through our perseverance and teamwork, we were able to clear these challenges.
What we learned
We learned that we should do more research on our parts before we commit to them. Had we done this, we would’ve known not to use the Arduino Board from the start. We also learned to be flexible. Although we didn’t get the pulse sensor and accelerometer, we were able to adapt and continue on our project despite being down two sensors.
Also, on technical aspects, we all learned a decent amount of new knowledge within a relatively short period.
What's next for ZotFitness
As a prototype, it marks the first step in a journey to revolutionize how we approach wellness. But this is only the start. We are committed to continually improving the system, adding more features, and expanding its capabilities to create a truly comprehensive solution. Our vision extends far beyond improving individual fitness — we aim to provide the community with a safer, more reliable, and more intuitive tool that empowers people to have a better understanding of their health. Whether it's enhancing performance, preventing injury, or simply encouraging a healthier lifestyle, this system will grow to become a cornerstone of smarter, safer living for all. We’re not just building technology; we’re building a movement for better living. Together, we can redefine what it means to live well — not just today, but for the future.
Log in or sign up for Devpost to join the conversation.