AWS Builder Center
We Taught an AI Agent to Distrust Recycling Claims

We Taught an AI Agent to Distrust Recycling Claims

How we built RECYCLR — a Strands AI agent that verifies e-waste recycling claims instead of making them, with a fraud engine, photo authenticity gate, and a 1,011-material reference index.

The problem

India generated 4.1M+ tonnes of e-waste in 2023–24 (CPCB). Roughly 90% of it flows through the informal sector — kabadiwalas, dismantlers, small refurbishers who do the actual work of taking devices apart. Then the E-Waste Management Rules, 2022 made Extended Producer Responsibility law: producers must prove their e-waste was responsibly recycled.
Here's the gap nobody talks about: the whole system runs on trust. A paper certificate says recycling happened. Nothing stops the same photo, the same weight slip, the same GPS pin from being sold five times to five different producers. The cheapest fraud in e-waste isn't sophisticated — it's just claiming recycling happened when it didn't.
And the people doing 90% of the real work have zero paperwork. Their labor is invisible to the formal system. They can't access EPR credit value because they can't prove what they did.
The insight that shaped everything we built: don't use AI to claim recycling happened. Use AI to make recycling claims easier to verify. That one sentence killed three feature ideas (marketplace, rewards tokens, leaderboards) and gave us a single problem to solve well.

The stack

Frontend: Next.js 16 App Router, Tailwind, react-three-fiber for the 3D hero (circuit boards, IC chips, copper coils — actual e-waste, not abstract blobs), GSAP for motion. Dark, restrained, official — we stripped the neon-glow hackathon aesthetic after our first user test said it looked "like a kids' site."
The agent — Strands SDK. The entire evidence pipeline is one Strands agent with four tools:
  •  identify_device  — what is in the photo
  •  estimate_materials  — recoverable materials, ₹ value, CO₂ avoided, backed by a 1,011-entry materials index (all 118 elements, solders, battery chemistries, PCB materials, polymers) and a reference database of real device specs
  •  assess_fraud_risk  — 0–100 score from weighted signals: duplicate SHA-256 image hash, physically impossible weights, GPS anomalies, copy-paste metadata, AI-generated or non-photographic images
  •  decide_next_evidence  — the agent refuses to verify a record until INTAKE → DISMANTLING → MATERIAL RECOVERY all carry evidence
Every verdict comes with a reasoning trace. The UI shows "what was detected" (device, confidence, which provider) and "why this verdict" (the agent's observed signals, each fraud signal's weight contribution, the final score). If the vision ran in simulation, the badge says so honestly. We'd rather show "unchecked" than fake a verification.
Vision cascade: Amazon Rekognition first (object detection → e-waste signal matching → authenticity heuristics that catch posters, screenshots, and screen photos), then Gemini vision for reasoning, then local simulation as the honest fallback. Each stage degrades silently;  result.mode  always reports which provider actually ran.
The authenticity gate was the feature we're proudest of. Before any analytics run, the photo itself is judged: is this a real photograph of physical e-waste? AI-generated images, posters, screenshots, and photos of screens get rejected with zero recovery/material/pricing analytics — because showing "₹85 recoverable" for a cartoon would be exactly the kind of fake claim we're fighting. The fraud engine flags these at 80/100.
Evidence chain: every verified record is anchored in a SHA-256 hash chain. Each record links the previous hash. Anyone can re-verify integrity without trusting us.

What fought back

1. The invisible text bug. Our headline used gradient text ( background-clip: text  +  color: transparent ) combined with a per-character SplitText animation. On some renders the gradient broke and the text went fully invisible — you'd only see it when selecting the page. A user caught it before we did. Fix: solid colors everywhere. Gradients are fragile; we stopped using them for text entirely.
2. Fraud-score calibration. The first version flagged everything or nothing. We tuned weighted additive signals so the canonical fraud — same photo uploaded twice with identical metadata — lands at exactly 91/100. Dramatic enough for a demo, and every weight is defensible when a judge asks "why 91?"
3. Simulation honesty. Early on, the local simulation called a digital illustration a "Printer, 93%." That's the exact failure mode our authenticity gate exists to prevent. The rule is now structural: simulation may only report authenticity as "unchecked." It is never allowed to pretend a verification happened.
4. Deploy plumbing. Vercel's file-upload API broke mid-evening (every upload rejected with a digest error), and our 137KB materials index exceeded the single-argument upload limit. Fix: split into sub-80KB modules, then connected the GitHub repo for auto-deploys — which also fixed the env-var injection properly. The boring infrastructure work nobody demos is what makes the demo possible.
5. Scope discipline. The hardest fight. Every hackathon tempts you to add a marketplace, a token, a leaderboard. We kept deleting. One problem — trustworthy evidence — solved well.

Try it

Open the scanner, upload the same e-waste photo twice. The agent flags it — CLAIM FLAGGED, risk 91/100 — and shows you exactly why, signal by signal. Then try uploading a poster or a screenshot and watch the authenticity gate reject it with zero fake analytics.
That's the whole pitch: not AI that claims recycling happened. AI that makes recycling claims easier to verify.
Built by Shivam Bakal for the WeMakeDevs Bharat Builds Tour — Environmental Hacks, October 2026.
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