Inspiration

With obesity rates rising and COVID forcing people to a more sedentary life, we wanted to build something that would encourage working out.

What it does

ChadBot is an AI virtual assistant that will learn where the user is in their fitness journey, how much time they can put into the gym, and what their goals are to present a workout plan in an encouraging and casual conversational manner. Additionally, we implemented a body fat percentage predictor that uses facial landmarks and detected features.

How we built it

Body Fat Predictor We collected and labeled hundreds of facial pictures in a tree folder structure (for ease and fast collection) to train our Random Forrest Algorithm model. To preprocess our image data, we used inorder traversal through our tree and ran our facial points detection module on each image to get a normalized array of x, y, and z. coordinates for 468 different facial landmarks.

ChadBot We created an expansive JSON file (that we added to our Cockroach DB as a JSON object to allow for serializable isolation in the case we may need additional JSON files later) with multiple patterns in user responses each associated with a tag that represents the user's intent. We developed the path of the conversation to depend on the context built up through the user's responses and the response's corresponding tags. We then integrated our Body Fat Percentage Predictor into our bot using python modules.

Challenges we ran into

Data collection and labeling in such a short time was an issue. We developed an approach of creating a tree folder structure where the folder names contain the labels. This allowed us to simply drag and drop images and label them in our python code based on file location within the tree.

Accomplishments that we're proud of

We are proud of coming up with unique and clever solutions in moments of stress when we were backed into a corner. We are proud of building the product we had in mind at the start and not having to cut corners despite the time pressure. We are proud of all the team members for completing their roles in a timely manner.

What we learned

We learned how to architect a big project with a team. We learned a lot about Deep Learning and NLP. It was cool to see how a program can be taught how to understand natural language.

What's next for ChadBot

We plan on building this into a mobile application with additional features such as progress tracking and sharing. We plan on refining the features that are passed into the ML model and collecting a larger dataset to improve our predictions.

Built With

Share this project:

Updates

posted an update

Finished main parts of the project, had to redo some things in simpler ways due to challenges we ran into, and the chat bot now works for simple responses. Creating video demo/trailer of the project, and making finishing touches in the limited time remaining.

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

posted an update

AI Face Recognition is somewhat more accurate now in predicting body fat % based on a person's face. Attempting to fix Chat Bot as deep learning model did not work accurately in responding to user's workout goals.

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