PlateWise — Your Plate. Your Rules.
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I built PlateWise, a simple AI-powered personalized meal planner.
I originally built it for a friend who wanted an easier way to plan meals while keeping personal preferences and food allergies in mind. I wanted to make something that could take a few basic details about a person and turn them into a meal plan that actually fits them.
With PlateWise, users can enter their dietary preference, fitness goal, allergies, foods they don't like, number of meals they want per day, and optionally their daily calorie target.
The app then uses this information to generate a personalized meal plan.
One thing I really wanted to get right was allergies. Instead of completely trusting the AI's response, I added a separate backend allergy checker that checks the ingredients generated by the AI against the user's listed allergies before showing the meal plan.
The basic idea was:
Let AI generate. Let the backend verify.
Code
GitHub Repository:
https://github.com/shiriei/PLATEWISE
The project is built as a small full-stack application using React, FastAPI, SQLite, and Gemini.
How I Built It
The frontend is built with React, Vite, and TypeScript, while the backend uses Python and FastAPI. SQLite is used to store the user's preferences and profile information.
For the AI part, I used the Gemini API to generate the meal plans based on the information provided by the user.
I also built a simple rule-based allergy checker in the backend. After Gemini generates the meal plan, the backend checks the ingredients against the user's allergies before returning the result.
The basic flow is:
User Profile
↓
FastAPI
↓
Gemini
↓
Meal Plan
↓
Allergy Checker
↓
Final Meal Plan
I wanted to keep the project simple rather than adding a lot of unnecessary features. The main focus was to make something useful, easy to understand, and safe enough to handle one of the most important pieces of information in a meal planner: the user's allergies.
Top comments (0)