Inspiration
40% of food is wasted before reaching plates. In college towns like Isla Vista, restaurants close every night with surplus food that gets thrown away while students and community members nearby go hungry. We built SecondServing to bridge that gap.
What it does
SecondServing connects Santa Barbara restaurants with surplus food to nearby households, food banks, and composters in real time. Users can browse available listings, see closing times, and get directions to restaurants with food available before it goes to waste.
How we built it
We scraped 477 Santa Barbara restaurants using the Google Maps API and stored them as vector embeddings in Pinecone. Our FastAPI backend exposes restaurant data to a Next.js frontend with an interactive Google Maps integration. We used RapidFireAI to identify which features best predict food surplus, and Supabase for structured data storage.
Challenges we ran into
Getting the Pinecone vector database to return all restaurants efficiently, wiring the frontend to live backend data instead of hardcoded placeholders, and syncing map centering when navigating from the listings page to the map view.
Accomplishments that we're proud of
Successfully scraping and storing 477 real Santa Barbara restaurants, building a fully connected frontend-backend pipeline, and using RapidFireAI to derive meaningful insights about food surplus prediction.
What we learned
That time of day and menu type are the strongest predictors of food surplus. We also learned how to build a full-stack app with a vector database and how to collaborate across branches using GitHub.
What's next for SecondServing
Allowing restaurants to post real-time surplus listings, adding push notifications when food becomes available nearby, and expanding beyond Santa Barbara to other college towns.
Built With
- css
- fastapi
- github
- google-maps
- html
- lucide-react
- next.js
- openai-api
- pinecone
- postgresql
- python
- rapidfireai
- supabase
- tailwind-css
- typescript
- vs-code
- zustand
Log in or sign up for Devpost to join the conversation.