Inspiration
As college students who dorm, we know how hard it can be to eat well on a budget. The
ASUCD Pantry at UC Davis provides free staples to students, but many don't know what to
cook with what they have. We wanted to build a tool that bridges the gap between food
access and food preparation — turning pantry items into actual meals, no recipe knowledge
needed.
What it does
Aggie Appetite lets users snap a photo of their pantry items. AI vision models (YOLOv8 + LLaVA) identify the ingredients and cross-reference them with the ASUCD Pantry inventory via the Notion API. Users select dietary preferences and filters, then generate recipes from the ASUCD Pantry recipe database or get original recipes from an AI Chef. A Substitution Engine suggests smart ingredient swaps using pantry-available items (e.g., Greek yogurt for sour cream). Users can create accounts to save their favorite recipes.
How we built it
- Frontend: Next.js 16 with TypeScript, Tailwind CSS v4, Firebase Auth (Google Sign-In + email), and Firestore for user data
- Backend: FastAPI with LangChain agents orchestrating the recipe pipeline — a Planner Agent, Substitution Expert, and Generative Chef
- AI/ML: Groq (Llama 3.1) for text generation, LLaVA for image recognition, YOLOv8 for fast object detection
- Data: Notion API for live ASUCD Pantry inventory, Google Cloud Console for the recipe database
Challenges we ran into
Coordinating the frontend and backend in parallel required a strict API contract. Getting the vision models to reliably identify pantry items from varied photo angles and lighting was tricky. We also had to build a robust fallback system (Groq to Ollama to hardcoded substitution table) to ensure the app always returns results.
Accomplishments that we're proud of
- Built a fully functional agentic RAG pipeline that chains together image recognition, database lookup, and LLM-powered substitution in a single request
- The Substitution Engine handles 100+ pantry-specific swaps with intelligent fallbacks — if the LLM is unavailable, it still returns useful results from a hardcoded table
- Designed a clean, mobile-first UI with dark mode, skeleton loading states, and a polished scan-to-recipe flow that works end to end
- Integrated three separate data sources (Notion API, Google Cloud Console, AI vision) into one seamless experience
What we learned
How to build an agentic RAG system with LangChain, how to integrate multiple AI models
with graceful fallbacks, and how to design a clean UI with a focus on
accessibility and user experience.
What's next for Aggie Appetite
Publishing Aggie Appetite as a mobile app, real-time pantry inventory sync with push notifications, meal planning and grocery list generation, community recipe sharing between students, and expanding to other university food pantries beyond UC Davis.
Built With
- fastapi
- firebase-auth
- firestore
- google-cloud-console
- groq
- langchain
- langgraph
- llama-3.1
- llava
- next.js
- notion-api
- python
- tailwind-css
- typescript
- yolov8
Log in or sign up for Devpost to join the conversation.