-
-
Reporter user interface
-
Leaderboard for both reporter and volunteer
-
GPS verification confirms the volunteer's location before submitting the cleanup report.
-
Reporter post image, AI analyses and location will be captured
-
Volunteer flags a fake waste report
-
Volunteer interface can verify and complete
-
volunteer can accept tasks and can see the location on map
Inspiration
We live in cities drowning in waste — not because people don't care, but because there's no system that makes caring easy or rewarding. Litter piles up because reporting it feels pointless, volunteers have no way to find where help is needed, and authorities are always one step behind.
We asked ourselves: What if we could gamify civic responsibility? What if every person who picked up a piece of trash earned something real for it? That question became EcoLoop.
What It Does
EcoLoop creates a closed-loop waste management ecosystem powered by AI and blockchain:
Report — A citizen photographs waste. Our AI (ResNet50) classifies it as Plastic, Metal, Glass, Organic, E-waste, or Paper with 85%+ accuracy and provides instant recycling recommendations.
Map — The report appears live on an OpenStreetMap-powered map, color-coded by status:
- 🔴 Pending → 🟡 Accepted → 🟢 Cleaned
Volunteer — Volunteers browse nearby tasks and accept cleanups.
Verify — Location-based verification (within 100m radius) ensures the cleanup actually happened, preventing fraud.
Reward — Both parties earn W2E tokens on the Polygon blockchain:
$$ \text{Reporter reward} = +2 \text{ W2E tokens} $$ $$ \text{Volunteer reward} = +5 \text{ W2E tokens} $$ $$ \text{Fake report penalty} = -5 \text{ W2E tokens (reporter)} $$
- Compete — A live leaderboard ranks top "Waste Warriors" by token balance, driving friendly competition.
How We Built It
| Layer | Technology | Role |
|---|---|---|
| Frontend | React 18, Vite, Tailwind CSS | UI, routing, dashboards |
| Maps | Leaflet + React-Leaflet + OpenStreetMap | Live waste hotspot visualization |
| Backend | FastAPI (Python) | REST API, business logic |
| AI Model | ResNet50 / MobileNetV2 (PyTorch) | Waste image classification |
| Blockchain | Polygon Mumbai Testnet + Web3.py | W2E token smart contracts |
| AI API | Google Gemini API | Enhanced waste analysis |
| Storage | JSON (MVP) / MongoDB-ready | Data persistence |
| Image CDN | Cloudinary | Photo uploads and storage |
We built two distinct user flows — Reporter and Volunteer — each with their own dashboard, verification logic, and reward mechanics. The smart contract on Polygon handles all token minting and penalty deduction trustlessly.
Challenges We Faced
Blockchain + location verification: Ensuring volunteers couldn't fake their GPS coordinates required careful server-side cross-validation of proximity checks.
AI model accuracy on real-world waste images: Real litter photos are blurry, partially occluded, and multi-material. We iterated on preprocessing pipelines to push accuracy above the 85% threshold.
Preventing fraud in a dual-sided system: Designing the penalty mechanism \( -5 \) tokens for fake reports while rewarding honest volunteers who expose them required careful game-theoretic balancing.
Keeping the map real-time: Polling and state synchronization between reporter submissions and the volunteer map view needed to be fast without overloading the backend.
What We Learned
- How to integrate PyTorch image classification models into a FastAPI production backend
- The mechanics of Polygon smart contracts and how to interact with them using Web3.py
- Designing dual-role UX where two very different user journeys share the same data layer
- How gamification and tokenomics can fundamentally change civic behavior incentives
What's Next for EcoLoop
- Deploy smart contracts to Polygon Mainnet
- Native mobile app for on-the-go reporting
- Municipal API integrations for official waste authority dashboards
- Carbon credit partnerships to give W2E tokens real-world monetary value
Built With
- css
- fastapi
- html
- javascript
- leaflet.js
- mobilenetv2
- mongodb
- openstreetmap
- python
- pytorch
- react
- react-leaflet
- resnet50
- router
- tailwind
- vite
- web3.js
- web3.py
Log in or sign up for Devpost to join the conversation.