Inspiration
One-third of all food produced globally is wasted, generating nearly 10% of global greenhouse gas emissions as it rots into methane in landfills. Local bakeries, grocers, and restaurants throw away fresh food at closing time not because they want to, but because perishable food has a strict biological clock and there is no real-time local system to route it to nearby people before it expires. We built EcoLoop to close that exact gap.
What it does
EcoLoop is a real-time, hyper-local surplus food rescue platform operating at U.S. EPA Tier 1 (Source Reduction).
EcoLoop — Hyper-Local Food Rescue - Brave 10_31_2026 8_30_52 PM.png
Instant Store Broadcasts: Local stores snap a photo, pin their live GPS location, and publish expiring food in under 30 seconds.
EcoLoop — Hyper-Local Food Rescue - Personal - Microsoft Edge 11_2_2026 2_34_03 PM.png
Live Proximity & In-App Route Tracking: Consumers see nearby drops sorted by real-time distance, with ticking HH:MM:SS expiry timers and an embedded live Google Maps walking route.
EcoLoop — Hyper-Local Food Rescue - Personal - Microsoft Edge 11_1_2026 8_53_01 AM.png
Offline-First QR Pickup Passes: Claiming an item locks it in the database and generates an ISO-standard QR ticket (ECO-XXX) that works 100% offline.
Two-Party Verification & Impact Ledger: Stores verify pickups via hardware camera QR scanning or backup codes, automatically logging rescued weight, meals saved, and EPA carbon equivalencies (
1 kg food=2.5 kg CO
e) on a public leaderboard.
EcoLoop — Hyper-Local Food Rescue - Personal - Microsoft Edge 11_1_2026 8_53_01 AM.png
How we built it
Frontend: React 18, TypeScript, Tailwind CSS, and Zustand for role-aware state management.
EcoLoop — Hyper-Local Food Rescue - Brave 10_31_2026 8_30_52 PM.png
Cloud & Realtime Sync: Supabase PostgreSQL with Realtime WebSockets (postgres_changes) for sub-second cross-device broadcasts.
Offline Persistence: Dexie.js (IndexedDB) to cache listings and active QR passes locally when mobile data drops.
Geo & Media Engines: Spherical Haversine distance math, OpenStreetMap Nominatim geocoding, embedded Google Maps routing, HTML5 Canvas client-side WebP compression (<60 KB), and html5-qrcode + qrcode.react for camera verification.
EcoLoop — Hyper-Local Food Rescue - Personal - Microsoft Edge 11_2_2026 2_34_03 PM.png
Challenges we ran into
Preventing Double-Claims & Role Leakage: Early multi-device tests showed claims appearing across devices without isolation. We engineered persistent device-scoped identities and optimistic concurrency locks (.eq('status', 'available')) so only one consumer can lock a listing and secret QR codes stay strictly hidden from unauthorized views.
Cross-Device GPS & Mobile Map Rendering: Laptop browsers without hardware GPS chips timed out on high-accuracy requests, and hidden mobile tabs caused blank map tiles. We built a two-stage GPS fallback (highAccuracy
→ network triangulation) and switched to an in-app Google Maps route tracker.
EcoLoop — Hyper-Local Food Rescue - Brave 10_31_2026 8_30_52 PM.png
Bandwidth Limits on Free Cloud Tiers: High-res phone photos quickly exhaust database storage, so we built an on-device HTML5 Canvas compressor that shrinks uploads under 60 KB before cloud transmission.
Accomplishments that we're proud of
Achieving sub-second real-time synchronization across separate devices—watching a store publish a listing on one phone and seeing it appear instantly on a consumer's phone without refreshing.
Building a zero-hardware, closed-loop verification system (Verified Partner badges, community spam reporting, and camera QR handoffs) that prevents fake data from inflating the Impact Ledger.
EcoLoop — Hyper-Local Food Rescue - Personal - Microsoft Edge 11_2_2026 2_34_03 PM.png
Designing a hybrid offline-first PWA that never crashes or loses a user's pickup pass even if they lose internet connectivity walking to the store.
What we learned
Perishable waste reduction is fundamentally a real-time logistics problem—speed of onboarding and proximity routing matter more than complex static catalogs.
Combining cloud WebSockets with local IndexedDB caching creates a resilient user experience for emerging markets with spotty mobile connectivity.
Translating raw kilograms into tangible EPA carbon equivalencies (passenger car kilometers avoided, trees planted, smartphones charged) makes sustainability engaging and immediate.
What's next for EcoLoop
Flash-Discount Payment Integration: Allowing stores to toggle between Free Community Donations and 70% Off Flash Sales via local digital wallets (eSewa / Fonepay / Stripe).
Push Notification Geo-Fencing: Web Push alerts when a verified store within 1 km drops surplus inventory at closing time.
Automated NGO Batch Routing: Recurring closing-time schedules that automatically assign bulk uncollected trays to registered local shelters and food banks.
Built With
- dexie
- gps
- html5
- indexeddb
- lucide-react
- postgresql
- pwa
- qrcode
- react
- supabase
- tailwindcss
- typescript
- vite
- websockets
- zustand


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