Stores and restaurants often have usable food to give away while food banks have specific, changing needs. Cup of Sugar tries to close that gap without asking every organization to maintain another perfect form.
Food banks and donors can describe inventory as CSV or plain text. Supabase stores the records, and Gemini turns the messy inputs into structured needs and offers that can be matched.
I built the prototype with Jett Schreiber and Mohan Selvarajan at UVicHacks. The interface is rough, but the premise still has heart: make it easier for surplus food to reach the right place before it becomes waste.
Build notes
Ever throw out food because you didn’t know who needed it?
That’s the gap Cup of Sugar tries to close. Stores and restaurants have too much perishable food, food banks have specific needs, and nothing connects the two. Every organization tracks inventory differently, nobody updates a form daily, and edible food ends up in the trash while people go hungry.
How it works
- Food banks list their inventory as CSV or plain text. Donors describe their excess food the same way, in whatever format is easiest.
- Supabase stores the data, and the Gemini API parses the messy inputs into a structured picture of what’s needed and what’s on offer.
- The system compares donations against food bank requirements and surfaces the best match.
- Contact info gets shared so both sides can coordinate the handoff directly.
Who it’s for
- Food banks, who need a reliable way to communicate specific inventory needs instead of one more form nobody fills out.
- Restaurants, with excess food to move quickly and ethically.
- Farmers, who need to route large amounts of produce to the right places.
Stack
- Frontend: React / Vite
- Backend: Python / Flask
- Database: Supabase
- AI: Gemini API
- Build: Containerized via Docker
Check out the repo!
All projects