Project Info
Inspiration
As busy college students who have recently started living on our own, we've realized that deciding what to meal prep or cook everyday is more difficult than it seems. This challenge is further exacerbated for students/working professionals with significant dietary restrictions. Individuals with medical conditions such as celiac disease, IBS, gastrointestinal disorders, diabetes, or severe allergies often have trouble finding delicious yet suitable meals for their specific dietary needs. We created PrepPal to help all of these people spend less time and energy searching the internet for recipes that work for them and instead enjoy their personalized meals!
What it does
PrepPal is an AI-powered tool that helps you plan personalized meals for the week and generate a corresponding grocery list so you can buy your ingredients in one go. Simply enter any dietary restrictions/preferences you have, select your budget constraints and prep time constraints, and enter any existing ingredients you would like to incorporate in your meals. PrepPal will take into account all your preferences and give you breakfast, lunch, and dinner for all seven days of the week with details on necessary prep time and how to make it. Then, depending on your generated meals, PrepPal will also give you a grocery list separated by category (i.e. produce, protein) that you can check off as you gather the ingredients.
How we built it
Frontend: We used Lovable, a platform that uses AI to generate a working frontend. This used TypeScript, Tailwind CSS, and React. Integration: We extracted the information from the form submission in the frontend, and used TypeScript to make an API call to our backend. Backend: From the API call to our backend, we set up another API call to Gemini API and received the meal plan and grocery list Gemini generated in JSON format.
Challenges we ran into
We weren't familiar with TypeScript, so integrating our frontend with our backend logic took lots of trial and error. We initially intended for PrepPal to utilize Vapi and to be a voice-based assistant, however we ran into trouble with retrieving the specific call data using the Vapi API. Therefore, we had to pivot to using a form-based input.
Accomplishments we're proud of
We successfully integrated our frontend with our backend logic that prompted Gemini API. Even though we had to pivot our initial plans a bit, we still persevered and put together a working final product.
What we learned
We all learned how to work with React for the first time. We also figured out how to work with Gemini API and efficient prompt engineering strategies. Lastly, we explored using Vapi and created our own voice assistant for PrepPal, although it didn't make the final product.
What's next
Implementing additional features such as retrying to implement a voice assistant using Vapi, including an estimated cost for each grocery item based on location, and including AI-generated images of each meal for user reference.
PrepPal
Inspiration
As busy college students who have recently started living on our own, we've realized that deciding what to meal prep or cook everyday is more difficult than it seems. This challenge is further exacerbated for students/working professionals with significant dietary restrictions. Individuals with medical conditions such as celiac disease, IBS, gastrointestinal disorders, diabetes, or severe allergies often have trouble finding delicious yet suitable meals for their specific dietary needs. We created PrepPal to help all of these people spend less time and energy searching the internet for recipes that work for them and instead enjoy their personalized meals!
What it does
PrepPal is an AI-powered tool that helps you plan personalized meals for the week and generate a corresponding grocery list so you can buy your ingredients in one go. Simply enter any dietary restrictions/preferences you have, select your budget constraints and prep time constraints, and enter any existing ingredients you would like to incorporate in your meals. PrepPal will take into account all your preferences and give you breakfast, lunch, and dinner for all seven days of the week with details on necessary prep time and how to make it. Then, depending on your generated meals, PrepPal will also give you a grocery list separated by category (i.e. produce, protein) that you can check off as you gather the ingredients.
How we built it
- Frontend: We used Lovable, a platform that uses AI to generate a working frontend. This used TypeScript, Tailwind CSS, and React.
- Integration: We extracted the information from the form submission in the frontend, and used TypeScript to make an API call to our backend.
- Backend: From the API call to our backend, we set up another API call to Gemini API and received the meal plan and grocery list Gemini generated in JSON format.
Challenges we ran into
- We weren't familiar with TypeScript, so integrating our frontend with our backend logic took lots of trial and error.
- We initially intended for PrepPal to utilize Vapi and to be a voice-based assistant, however we ran into trouble with retrieving the specific call data using the Vapi API. Therefore, we had to pivot to using a form-based input.
Accomplishments that we're proud of
- We successfully integrated our frontend with our backend logic that prompted Gemini API.
- Even though we had to pivot our initial plans a bit, we still persevered and put together a working final product.
What we learned
- We all learned how to work with React for the first time.
- We also figured out how to work with Gemini API and efficient prompt engineering strategies.
- Lastly, we explored using Vapi and created our own voice assistant for PrepPal, although it didn't make the final product.
What's next for PrepPal
Implementing additional features such as retrying to implement a voice assistant using Vapi, including an estimated cost for each grocery item based on location, and including AI-generated images of each meal for user reference.
Analysis
View
Metric
- 6
- 6
- 2
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FastAPIIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Google GeminiClaimed
8 of 9 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
209 KB
Source files
74
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
tanushri-p/Prep_Pal
90 files · 947 KB · @ e39c91d
Structure
Interface
57 files · 63%Screens, components and styles rendered to the user.
Application logic
14 files · 16%Domain rules, services and shared utilities.
Data & schema
1 file · 1%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript93%
- Markdown2%
- Python2%
- CSS1%
- HTML0%
- JavaScript0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 66- @hookform/resolvers
- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-hover-card
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-popover
- @radix-ui/react-progress
- @radix-ui/react-radio-group
- @radix-ui/react-scroll-area
- +48 more
backend/requirements.txt
pypi · 5- fastapi
- google-genai
- pydantic
- python-dotenv
- uvicorn[standard]
package.json
npm · 11 development-only dependencies.
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.