Inspiration
Georgetown students already deal with packed schedules, and campus dining adds another layer of decisions. We wanted to make it easier to eat well without extra stress. Hungry Hoyas is built around the idea that choosing healthy meals should be simple, not draining.
What it does
Hungry Hoyas helps Hoyas eat better on campus. It pulls daily menus from Hoya Eats (Leo’s / Fresh Food Company), tracks calories and macros against personal goals, and suggests balanced meal combinations. Users set targets once during onboarding, then get tailored plate recommendations that fit their nutrition goals. The dashboard shows calorie and macro progress plus three suggested plates: High Protein, Balanced, and Lower-Cal.
How we built it
We built Hungry Hoyas with Next.js (App Router), PostgreSQL via Prisma, and Tailwind for styling. Menu data is pulled from hoyaeats.com with web scraping and optional Gemini AI parsing. The app uses JWT-based auth with httpOnly cookies, and the bcrypt library for password hashing. The frontend uses a multi-step onboarding flow and a responsive dashboard with a calorie ring and macro progress bars.
Challenges we ran into
Integrating Hoya Eats required scraping HTML that changed often, so we designed a hybrid pipeline: Gemini AI for parsing when possible, with Cheerio as a fallback. Prisma 7 breaking changes forced us to refactor datasource configuration. We also had to handle cross-step data (e.g., via localStorage) and keep session handling secure while staying compatible with Next.js server and client components.
Accomplishments that we're proud of
We’re proud of shipping an end-to-end flow from onboarding to dashboard, with real menu data and auto-sync from Hoya Eats. The three-plate recommendation system (High Protein, Balanced, Lower-Cal) with station info makes choices concrete, and the auth system is production-ready with secure sessions. The UI matches our design system and works on both mobile and desktop.
What we learned
We learned how to combine AI (Gemini) with traditional scraping and build robust fallbacks. Working with Prisma 7 and Next.js App Router deepened our understanding of server vs. client boundaries and session management. We also refined our approach to handling external data sources that don’t expose APIs.
What's next for Hungry Hoyas
We plan to add a password field to signup, implement food logging (“Add to Plate”), and persist nutrition goals in the database. We’ll add more dining halls beyond Leo’s, improve plate recommendations with dietary filters, and explore push notifications for new menus or reminders.
Log in or sign up for Devpost to join the conversation.