-
-
MealSaver home page connecting surplus food donors with hungry communities.
-
User role selection for donors and receivers to start the food rescue flow.
-
Secure login screen for accessing donor, receiver, and admin dashboards.
-
Food request form with location mapping to help receivers find nearby donations.
-
Donation dashboard showing available food, requests, and live impact stats.
-
Admin dashboard to monitor users, donations, requests, and approval status.
Inspiration
One-third of all food produced globally goes to waste, while simultaneously, millions of people suffer from food insecurity. We realized that the biggest barrier to food rescue isn't a lack of surplus food or a lack of willing NGOs—it's a logistics and communication bottleneck. Restaurants and bakeries don't have the time to find nearby shelters when they close at night, and NGOs don't have the resources to constantly call around asking for donations. We built MealSaver to bridge this gap, treating food rescue as a high-speed logistical challenge that can be solved with modern spatial routing and automated matching.
What it does
MealSaver is a real-time food rescue platform that connects commercial food donors (restaurants, bakeries, supermarkets) with verified local receivers (NGOs, shelters, community kitchens).
Instead of acting as a static bulletin board, MealSaver functions as an active logistics engine. When a donor posts a surplus batch of food, our platform runs a PostGIS spatial query to instantly ping the closest verified NGOs that match the food's specific criteria (e.g., accepts cooked veg food). Once an NGO accepts the match, MealSaver generates a secure OTP. The NGO presents this PIN at the pickup location, ensuring a secure, accountable handover. Finally, the platform automatically calculates and updates the donor's dashboard with the real-world impact of the donation—tracking meals served and estimated CO₂ emissions avoided.
How we built it
We built MealSaver using a modern, scalable web stack:
- Frontend: Next.js 16 (App Router), TypeScript, Tailwind CSS, and shadcn/ui for a highly responsive, polished user interface.
- Backend/Database: We used Supabase (PostgreSQL) as our core database, heavily relying on the PostGIS extension (
GEOGRAPHYtypes) to power our spatial matching queries and calculate exact distances between donors and NGOs. - Authentication: Clerk for secure, role-based access control (separating Donor and NGO dashboards).
- ORM & Analytics: Drizzle ORM to manage our relational data, and custom SQL functions to generate automated environmental impact reports.
Challenges we ran into
One of the hardest parts was designing the Secure Handover Flow. We originally had the NGO verifying the OTP, but we realized that from a security standpoint, the Donor needs to verify the code to ensure the food is handed off to the correct, verified organization. Redesigning this logic and ensuring the database locked the transaction perfectly required deep restructuring of our pickup assignment tables and API routes.
We also faced challenges optimizing the spatial queries. Finding the nearest NGO isn't just about distance; we had to write complex SQL filters to ensure the NGO was active, verified, had the capacity, and actually accepted the specific type of food being donated (veg, non-veg, cooked vs. raw).
Accomplishments that we're proud of
We are incredibly proud of the UI/UX and the interactive matching map. The platform feels like a modern delivery app, not just a clunky form. We're also extremely proud of the Automated Impact Tracking. Seeing the dashboard instantly update with "Meals Saved" and "CO₂ Impact Avoided" after a successful OTP verification makes the act of donating incredibly rewarding and gives businesses tangible ESG metrics they can use.
What we learned
We learned a tremendous amount about geospatial databases. Working with PostGIS in Supabase taught us how to efficiently query GEOGRAPHY(POINT) data and calculate distances on the fly without tanking database performance. We also learned how to build complex, role-based user flows in Next.js where Donors and NGOs share the same platform but experience completely tailored dashboards.
What's next for MealSaver
Our next major step is integrating Third-Party Delivery Partners (like DoorDash or local courier fleets). Currently, MealSaver relies on NGOs having the transport capacity to pick up the food. By adding an API integration for on-demand drivers, we can completely eliminate the transport bottleneck, allowing even the smallest shelters to receive surplus food instantly. We also plan to build out a mobile app version using React Native for easier on-the-go OTP verification.
Built With
- clerk-auth
- css3
- drizzle-orm
- google-maps
- html5
- leaflet.js
- next.js
- node.js
- postgis
- postgresql
- react
- shadcn-ui
- supabase
- tailwind.css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.