PlateMate, A Personalized AI-Powered Meal Planning Assistant
Anay P, Ustav A, Aditya V, Humza W
Problem Statement:
The transition to college life can be a drastic and often stressful change for many students. The freedom of independent living can lead to poor nutritional choices as well as the frequent consumption of junk food. These factors contribute to weight fluctuation including health concerns with over 60% of students gaining 7.5 pounds in their first year. This issue denoted as Freshman 15, underscores the problem many face in maintaining a healthy lifestyle. While dining halls provide a wide variety of meals, choosing which option aligns with their needs is often too time consuming for students. This problem is amplified for those with dietary restrictions, allergies or specific fitness goals .
Solution and Impact:
Recognizing these challenges, we decided to create PlateMate, a Personalized AI-Powered Meal Planning Assistant custom made for Purdue University. By inputting their weight, height, activity level and food preferences our software is able to create a meal plan tailored to a student's specific fitness and nutrition goals. Students are also prompted for their fitness goals ensuring whether you aim to lose,gain or maintain weight PlateMate is able to cater to your needs. Purdue’s campus features several dining courts, providing users with a wide range of meal options. We created a script that retrieves data from Purdue’s dining hall menus and outputs a menu that aligns with a student's taste preferences and nutritional needs. PlateMate also takes in the user’s geolocation in order to factor distance from dining halls, recommending only from the nearest 3. This ensures following the meal plan is practical and easy to follow. PlateMate is able to transform overwhelming dining options into a unique and easy to follow nutritional journey for every Purdue student.
Technologies/Tools Used:
In order to build this software from the ground-up we took advantage of Next JS, a framework built on top of React JS that is popular for front-end web development. This tool allowed us to create a smooth and easy to use User-Interface for our users.
For the database, we used Supabase to handle authentication, store food data from web-scraping the meals from each dining hall, and manage real-time database operations; This also includes handling account logins and storing users.
Initially, we experimented with a K-Nearest Neighbors (KNN) model to match user food preferences—like "something spicy" or "grilled chicken"—with similar items in our database. While the idea was promising, we quickly realized that the model lacked the nuance needed to understand subjective taste and context. KNN relied heavily on numerical vectors, often too much, which led to mismatches and overly simplistic suggestions that didn’t align well with what users actually craved. For example, typing "cookie" might return a sugar-heavy dish, such as maple syrup regardless of nutrition goals or food categorization.
Moreover, we integrated the OpenAI GPT-4 and gpt-4-turbo API, which takes user inputs like dietary goals and food craving and crafts balanced, goal-oriented meals. We developed caloric and protein consumption logic that's tailored to weight goals and activity levels, along with filtering mechanisms to exclude foods that don’t meet allergy or dietary restrictions. Additionally, we also implemented a Geolocation feature of Next JS to detect the user’s current location and used a custom Haversine formula to rank dining halls by proximity and give the user the first three in his/her proximity.
Category Selection
As a team submission our project is being submitted for consideration in all categories except Best Solo Hacker. Due to our focus on student health and nutrition we especially aim to be recognized for sustainability. By promoting better eating habits PlateMate supports long term personal sustainability. We also believe we are an excellent candidate for Best Overall Hack due to our real world impact and unique project. Our use of Supabase, Next.js and OpenAi demonstrates excellence in software engineering and our unique product pitch in the form of a Shark Tank presentation captivates the audience for an attempt at Best Presentation & Pitch. Lastly, calling the API to generate customized meal plans based on calories, goals, and user preferences is how we aimed to achieve Best Use of AI/ML.
Summary
In conclusion, our project addresses the prevalent dietary and fitness challenges faced by college students by providing a personalized, practical, and accessible solution. By harmonizing individual health goals with the resources available within Purdue's dining system, we offer a pathway for students to achieve and maintain their desired fitness outcomes during their college journey.
Built With
- custom-web-scraper
- geolocation-api
- gpt-4-turbo
- haversine
- javascript
- next.js
- openai-api
- openai-gpt-4
- react.js
- sql
- supabase
- supabase-postgresql
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.