Inspiration

~38% of the U.S. food supply goes uneaten — roughly $473 billion worth per year (USDA, 2024). Food waste is the single largest category in landfills and a top-3 global greenhouse gas source. These numbers shocked us into building something about it.

What it does

Savor tracks your pantry and uses AI to help you eat what you have before it spoils.

Receipt scanning - Gemini's vision model (getReceiptEntries) extracts items, prices, categories, and estimated expiry dates from a photo Smart pantry - Supabase-backed inventory with inline editing, unit conversion, and active/expired status tracking AI recipes - generateRecipes() feeds your soonest-to-expire items into Gemini and returns structured meal suggestions Impact dashboard - real-time CO₂ savings (EPA's ~3.8 lbs CO₂e/lb wasted), cash at risk, and freshness metrics computed from actual item weights and prices

How we built it

Next.js (App Router) + TypeScript, Supabase (typed client with generated DB types), Google Gemini API (gemini-3-flash-preview for both text and vision), Tailwind CSS, deployed on DigitalOcean. AI coding tools helped us move fast.

Challenges

All four of us were new to web development. Learning React's component model under hackathon pressure was the biggest hurdle. We also dealt with merge conflicts, TypeScript type mismatches with Supabase's generated types, and a mid-project migration from OpenAI to Gemini (different multimodal input formats — data URLs vs. inline base64 + MIME splitting).

GitHub Repo: https://github.com/gabe-udel/Hackthon2026

Team Members: Gabe Vandevere - gvand@udel.edu Mikul Duggal - mduggal@udel.edu Heng Luo - hengluo@udel.edu Abby Fowler - agfowler@udel.edu

Built With

Share this project:

Updates