Our inspiration!
Getting into working out can be a learning curve, and often the biggest hurdle to a healthy life is knowledge and confidence. Confidence can be especially low among lifters trying a workout for the first time. With this, My Fit Bud serves to raise confidence by preventing injury among people new to exercising. Fit Bud's "Form Check" highlights inaccuracies in lifting techniques before injury occurs to save people from injuring themselves on their first lift. Once Form Check spots an error, our AI coach chatbot steps in with professional-grade advice, motivating and saving users from hurting themselves.
What Is Fit Bud and how does it work?
My Fit Bud includes 4 distinct features: our Supabase backend, Form Check, Coaching AI, and Calorie Logger.
First, our project uses Supabase to store user information. This simply involves Supabase's free plan that allows our group to create tables in which we store user information such as logged workouts, weight, steps, calories, and much more.
Next, My Fit Bud provides the user with real-time computer vision analysis of lifting form. Computer vision is done through the MediaPipe npm module. This module marks tracers on the user's body, observing the degree of their joints and the rate at which they change. This information accumulates into a JSON file which Groq (our main intelligence model) parses and uses it to provide feedback to the user in natural language. For incorrect form, "Form Check" provides the user with a quick link to a generated message in which our coaching AI can help describe to the user how to improve their form.
Our coaching AI enables the user to receive professional-grade interactive coaching advice without having to pay the price of a professional trainer. Like our Form Check, our coaching AI deploys the Groq free model with a built-in professional trainer personality. Our chatbot is equipped with this personality so it stays focused on fitness-based conversations. Furthermore, our coaching AI generates preset messages and responses, so the user can quickly ask for advice on the go. This feature is geared to increase efficiency and motivation among users with a tight schedule.
Last, but not least, our calorie tracker enables users to track calories through manual macro entering, textual descriptions, or even an image. Tracking meals based off a textual description is implemented, yet again, with Groq AI. Furthermore, our image parser deploys an Ollama model to parse the image and calculate the macronutrients of the meal. This allows users to stay on a diet without spending hours tracking and writing down all their meals.
Challenges we ran into
As computer vision projects tend to be, our project was hard when getting the model to work. First, we had to learn a completely new library, the MediaPipe library, which was something our team has never seen before. Furthermore, our team's inexperience in CV only enhanced the confusion we had with MediaPipe. Eventually, our team was able to create presets for 8 exercises, for which MediaPipe is correctly calibrated to track and give feedback based on the user's form.
Second, our team spent a lot of time debating what our central intelligence model should be. Initially, we wanted to use Claude through the Agent SDK so we could use tokens under our monthly subscriptions. This, however, turned out to be counterproductive, as the Claude Agent SDK was a very powerful LLM wrapper that cost a LOT to run. With this, our team changed its vision to a free, API-based model, and we discovered Groq. Groq was the perfect fit for our project, not to be confused with Elon Musk's Grok. Groq has wide personality capabilities, with which we were able to create and deploy a fitness trainer personality into Groq. While free, Groq also served to be wildly faster than Claude's Agent SDK, as it was running a single LLM inference versus a loop of agentic inferences.
Log in or sign up for Devpost to join the conversation.