Inspiration
Many beginners in exercise often find it difficult to achieve their health goals due to the complexity and expense of hiring a personal trainer to guide them through a personal and detailed fitness and nutrition program. Coincidentally, this vision coincides with the idea of ensuring healthy lives and promoting well-being for all at all ages, as mentioned in SDG (Sustainability Development Goal) 3. We created ChatPT to help users (especially beginners) find a more convenient and cheap way to get advice on improving their form and gain confidence in making healthy choices in both fitness and eating.
What it does
ChatPT is a web application that features the following five functionalities:
Viewing and modifying a personal profile (based on the progress a user makes in their fitness training and nutrition) Generating calendar of AI-generated fitness plans Generating calendar of AI-generated meal plans Integrating a Real-Time ChatBot to allow user interaction Form Checker (that allows users to upload ".mp4" videos of themselves doing exercises to get personalized feedback)
How we built it
We used a ChatGPT model to converse with and learn about a person's personal biometrics and fitness goals. (A user can specify their current PRs and their desired goal PRs.) With this information, we structured nutrition and meal plans that users can adapt and respond to in order to help them manage their personal health.
The front-end of the app was developed using Node.js and React. The back-end featured Google's Gemini for video processing (in our form checker) and OpenAI's GPT for learning about user's information and guiding them through nutrition plans.
Challenges we ran into
The biggest challenge we ran into was connecting the front-end components with the back-end components, particularly in terms of syncing any change made by the user on the front-end with the back-end.
Accomplishments that we're proud of
We are particularly proud of how changes made to a user's profile (either by a user interacting with the ChatBot or a user directly altering a field in their profile) will stay persistent. Additionally, we are proud of how the fitness and meal plans came together (in terms of being able to be modified based on a user's current situation or needs).
What we learned
Developing a full-stack application in the time span of 24 hours is no easy task. This experience definitely allowed all of us an opportunity to participate in rapid prototyping with limited time. Following the recommended approach of 2 hours of ideation followed by 20 hours of fine-tuning and actual development, we were able to learn how to prioritize features, quickly choose tools and libraries, and develop a minimum viable product without overcomplication.
What's next for ChatPT
One extension we would like to explore in the future for ChatPT would be the implementation of a database (possibly using MongoDB) in order to store and update a user's information for each registered user on the web application.