Inspiration
Before starting this project, I knew I wanted to build something that could help people in a real, practical way. Then it struck me — in my community, I have seen restaurants and even households throw away leftover food, while at the same time, I have also seen people go to bed hungry.
That contrast really bothered me. So, I started digging deeper and discovered that globally, we waste about 1.3 billion tons of food every year — that’s roughly a third of all the food produced. Meanwhile, millions of people go hungry daily. I also found out that reducing food waste doesn’t just help feed people — it also reduces greenhouse gas emissions and helps the planet.
That’s when I came up with LeftOverMatch — a platform that connects people with leftover food to others in their neighborhood who need it.
What it does
LeftOverMatch is a simple but powerful app that helps people share leftover food with others nearby — whether it's an individual, a shelter, or an organization.
Here’s what the app does:
Lets individuals and organizations sign up
Allows users to post leftover food with expiration time, location, and optional images
Supports real-time food requests, where people can ask to collect posted food
Includes request approval
Has notifications for accepted, declined, or uncollected requests
Uses timers to mark expired or collected food, hiding it from search
Displays posted, available, pending accepted foods, and nearby food clearly on user dashboards
Shows default image placeholders when no image is uploaded
How I built it
I built the app using Bolt.new — a prompt-based development platform — and used Supabase as the backend for auth, data, and real-time functionality.
To shape the app, I first listed out the features I wanted and used ChatGPT to refine my prompts until they clearly described what I needed. That made building and debugging in Bolt.new much smoother.
I also integrated:
Supabase authentication and row-level filters
Real-time updates for post status
Dynamic timer logic for food expiry
Default placeholder images for posts without images
A clean UI to show food posts near the user
Challenges I ran into
The biggest challenge was getting the right prompts to produce the desired features in Bolt. Sometimes it took several attempts to get just one thing right — which was frustrating and also used up a lot of tokens.
I also ran into network timeouts and glitches when fetching data from Supabase inside the Bolt cloud environment, especially during profile or post loading.
Designing the food request flow (including handling multiple requests and approval logic) also took a lot of troubleshooting and testing.
Accomplishments that we're proud of
Built a food-sharing app from scratch using only prompts
Designed a real-time request and approval system
Implemented role support for individuals and organizations
Added features like image placeholders, expiry timers, and notification handling
Took an idea inspired by real human needs and turned it into something that can help people and reduce waste
What I learned
Prompt writing is a skill. Clear and specific prompts make a huge difference when building with tools like Bolt.new.
I learned how to troubleshoot Supabase errors, handle edge cases, and make sure the app responds well in low-data situations.
I also got better at thinking through user experience — not just what the app does, but how it feels to use.
What's next for LeftoverMatch
There’s still so much potential ahead. Here’s what I’m planning to add:
Map indicators showing nearby food on a real-time map
In-app chat so users can coordinate pickups smoothly
NGO dashboards to manage bulk food requests and collections
A repeat post feature for users or stores who give often
A progressive web app (PWA) version for offline access
Impact stats to show users how much food and CO₂ they’ve saved
Trust-building features like user reviews and collection ratings
Developing it as a mobile app (Android/iOS) for a smoother, faster user experience and offline access.
Built With
- bolt
- github
- gps
- ip-api.com-geolocation
- javascript
- javascript-and-typescript-for-handling-logic-and-data-operations
- netlify
- react
- supabase
- typescript

Log in or sign up for Devpost to join the conversation.