Inspiration
We noticed how often food gets thrown out just because no one knew what to cook with what was already in the fridge. Grocery prices are rising so we wanted a tool that turns random ingredients and a tight budget into an actual meal plan.
What it does
GeminiEats takes a user's ZIP code, shopping budget, at home ingredients, cravings, and allergies, then suggests recipes they can make. Each recipe includes an estimated shopping list with prices, a total cost estimate, step-by-step instructions, and a link to nearby grocery stores based on their ZIP code.
How we built it
We built the frontend with HTML, CSS, and JavaScript, with a form that collects the user's budget, ingredients, cravings and allergies. Submitting the form sends the data to a backend endpoint that returns recipe suggestions, which are displayed for the user to scroll through. We integrated Gemini API to generate these results as well as Google Maps API that returns nearby grocery stores based on the users ZIP code. For accessibility and user preference we added a light and dark mode toggle.
Challenges we ran into
We ran into issues connecting our frontend form data to our backend fetch requests, and had to debug asynchronous error handling so users get clear feedback instead of the page silently failing.
Accomplishments that we're proud of
The work flow as a whole and how each piece comes together in the end felt very accomplishing to us. With thorough planning and resources we were able to execute the project to the best of our abilities and comfortably do so without getting stuck in long stretches of not knowing what to do next.
What we learned
We learned how to structure JavaScript for real world API calls, handle errors confidently, and learning how to integrate API's. Implementing Python into backend. Adding an accessibility feature like dark/light mode into the UI.
What's next for GeminiEats
Next steps include further tweaking for best possible flow for the user. Enhancing style of Gemini eats also is in our plans to make it aesthetic for users to use.
Built With
- claude
- css
- github
- google-maps
- googlegeminiapi
- html
- javascript
- python
- vercel
Log in or sign up for Devpost to join the conversation.