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:

  1. Lets individuals and organizations sign up

  2. Allows users to post leftover food with expiration time, location, and optional images

  3. Supports real-time food requests, where people can ask to collect posted food

  4. Includes request approval

  5. Has notifications for accepted, declined, or uncollected requests

  6. Uses timers to mark expired or collected food, hiding it from search

  7. Displays posted, available, pending accepted foods, and nearby food clearly on user dashboards

  8. 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:

  1. Supabase authentication and row-level filters

  2. Real-time updates for post status

  3. Dynamic timer logic for food expiry

  4. Default placeholder images for posts without images

  5. 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

  1. Built a food-sharing app from scratch using only prompts

  2. Designed a real-time request and approval system

  3. Implemented role support for individuals and organizations

  4. Added features like image placeholders, expiry timers, and notification handling

  5. Took an idea inspired by real human needs and turned it into something that can help people and reduce waste

What I learned

  1. Prompt writing is a skill. Clear and specific prompts make a huge difference when building with tools like Bolt.new.

  2. I learned how to troubleshoot Supabase errors, handle edge cases, and make sure the app responds well in low-data situations.

  3. 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:

  1. Map indicators showing nearby food on a real-time map

  2. In-app chat so users can coordinate pickups smoothly

  3. NGO dashboards to manage bulk food requests and collections

  4. A repeat post feature for users or stores who give often

  5. A progressive web app (PWA) version for offline access

  6. Impact stats to show users how much food and CO₂ they’ve saved

  7. Trust-building features like user reviews and collection ratings

  8. Developing it as a mobile app (Android/iOS) for a smoother, faster user experience and offline access.

Built With

Share this project:

Updates