AWS Builder Center

EcoEarn: Reward Dustbins That Pay You to Segregate - Built on AWS in 4 Days

EcoEarn is a network of reward-based dustbins that pays you coins for segregating waste - every drop verified by Amazon Bedrock, powered by Lambda, S3, DynamoDB and Amplify. Built in 4 days at Environmental Hacks 2026 (Track 03: Waste & Energy).

By Chetan Anand, Rishabh Anand, Rajpurohit Himanshu, Shreyas Lande — Team Elite — Track 03: Waste & Energy, Environmental Hacks 2026 Repo: [ https://github.com/The-TeamElite/EcoEarn ] · Live website: [ https://ecoearn.duckdns.org/ ] · Demo video: [ https://youtu.be/9UGFwlJT1bY?si=gugbdDffxh5ci5Iv ]
India generates roughly 62 million tonnes of waste a year, and most of it reaches landfills mixed — because segregation at source barely happens. We spent a weekend asking why. The answer wasn't laziness. It was economics: you do the right thing and nothing happens. No feedback, no reward — and nobody willing to fund the reward either. Every "earn for recycling" idea we'd seen died at the payout step.
So we built EcoEarn: a network of reward-based dustbins, one per area, where dropping segregated waste earns you coins — and the waste itself pays for the rewards.
## What it does
The loop is deliberately simple — a judge can follow it in three minutes:
1. You drop segregated waste into your area's EcoEarn dustbin, pick Dry or Wet in the app, and take a live photo with your phone camera. No gallery uploads — every capture has to be fresh, or anyone could game it. 2. The photo uploads to a private S3 bucket through a short-lived presigned URL, and a Lambda function sends it to Amazon Bedrock with your chosen category. 3. Bedrock returns a structured verdict — accepted, rejected, or review — with the detected category, a confidence score, the reason, and a tip ("this looks like wet waste — try the wet bin"). 4. Accepted? +20 coins, exactly once, straight into your wallet. Wrong category, a reused photo, or a double-tapped button? Zero. The anti-cheat isn't a popup — it literally awards nothing. 5. Coins collect in a wallet with full transaction history, and a leaderboard ranks you against your neighbors. At 200 coins, a partner reward unlocks: redeem it and a one-time code is issued, deducted exactly once. Try to reuse it and you get a firm "Already redeemed."
And the part we're proudest of: the segregated waste piling up in those bins gets sold to recyclers, and that revenue funds the rewards. Clean, pre-sorted dry waste — paper, plastic, metal — has real resale value. The dustbin network turns a municipal cost into a circular economy instead of passing a sponsorship hat around forever.
## The stack
Plain HTML, CSS, and JavaScript on the frontend — no framework, no build step — and five AWS services doing the heavy lifting:
| Layer | Service | Job | |---|---|---| | Hosting | Amplify | Serves the app as a public HTTPS URL | | Storage | S3 | Private bucket for waste photos via presigned URLs | | Compute | Lambda | Verification pipeline + coin rules + redemption | | AI | Bedrock | Judges each photo against the chosen category | | Data | DynamoDB | Wallets, transactions, rewards, leaderboard |
Amplify got us a live URL minutes after connecting the repo, which meant real phone testing from day one. Bedrock meant we never trained a model — one image call returns a verdict with a confidence score and a human-readable tip, which is what makes the app feel helpful instead of judgmental. DynamoDB's fast reads keep the wallet and leaderboard refresh instant after every accepted drop.
## What fought back
The S3 upload permissions. The presigned-URL flow took the longest to debug of anything in the backend. IAM gave us 403s that said almost nothing about which permission was actually missing, and the docs assumed more AWS background than our team had. We lost an evening to it — and then uploads "just worked," which is exactly how infrastructure should feel once it's right.
Bedrock on a bad photo. The model is honest to a fault: dark or blurry photos got rejected even when the waste was correct. We couldn't fix the model, so we fixed the product — a review verdict path, clearer capture guidance, and a backup plan of pre-tested images with stored verdicts, labeled demo mode, in case the network died mid-demo.
Double-spend paranoia. Coins are money, even play money. We made every award idempotent — same request ID returns the old result, never a new award — added SHA-256 duplicate-photo detection, and disabled the verify button mid-flight. Boring work. Absolutely essential.
Staying honest. The temptation in a hackathon is to fake the shiny parts. We drew a hard line instead: the partner code is the only fully working reward; gift-card and UPI options are labeled simulated right in the UI; the bin network is the deployment model we're validating, not something we pretend is live. A smaller honest prototype beats a larger dishonest one — we think the judges agree.
The freeze. Four people, four days, one rule: Saturday night the build freezes, no matter what. Sunday was video and submission only. It hurt. It worked.
## Try it
What's next: physical bin rollout per area, recycler onboarding and pricing, pickup logistics. The loop is proven — now it needs streets.
One feature that runs beats five that almost do. We shipped the loop that runs.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article