Inspiration

As Stony Brook University students, we noticed how overwhelming it is to navigate large dining hall menus while trying to meet specific dietary goals. We wanted to answer: *if a student needs p grams of protein across x meals, which dining items optimally satisfy this while respecting their restrictions?

What We Learned

We deepened our understanding of prompt engineering with Google's Gemini API, React state management with Context, and structuring real-time data pipelines from Nutrislice menu feeds.

How We Built It

We built a React + Vite web app that ingests SBU dining JSON data, lets students set dietary preferences, and calls the Gemini 2.5 Flash API to generate personalized meal plans. A conversational AI chat panel allows open-ended meal discovery. We selected flash 2.5 because of its balance between speed, low cost, and high quality output. It perfectly fit our needs for a responsive application with low running costs.

Challenges

Parsing unpredictable LLM JSON responses required robust sanitization. Handling API rate limits and timeouts gracefully, and accurately modeling dining hall hours across varying schedules, were persistent hurdles.

Built With

Share this project:

Updates