Track: Sustainable Supply Chains (recycling traceability and circular economy incentives). ChuteGuard checks every drop down a tower's garbage chute, has the recycling facility verify each pickup on chain, and pays out only once per verified pickup: about 6 tonnes less contamination a year from one 300-unit tower.

Inspiration

Toronto apartments divert 26.3% of their waste. Houses divert 60.3%. That's the City's own 2025 number. And 35.4% of what Toronto put in the Blue Box in 2025 didn't belong there. In a tower, nobody carries recycling to a bin. They drop it down the chute, and a lot of chutes already have a button for each stream. Nobody checks what happens after the button. Since January 2026, producers pay for apartment recycling, but Ontario's Auditor General found the regulator "has not begun to enforce" audits of the data. Every number is reported by someone who gets paid by it.

What it does

ChuteGuard is a retrofit kit for the chute a tower already has. We built the software first. At each floor's chute door, a resident taps a fob and presses the stream button. At the bottom of the chute, a camera checks the drop against that stream. A vision model describes what it sees (a closed opaque bag, a clear bag or a loose item, and the material) and a rules table decides: sort it, divert it, or send it to a review tote for the superintendent. A closed black bag in recycling gets diverted to garbage. Recyclables shouldn't be bagged, so the bag is the contamination, and we don't need to see inside it. Food the camera can see in recycling goes to organics. The camera can't see inside a closed box, so a weight flap tells an empty box, carton, bottle or can from a full one. Each drop is recorded with its floor, stream and route, the photo's SHA-256 (never the photo), and a pseudonymous unit code (never a name). At pickup, the building seals the recycling drops into a Merkle tree and signs the root on chain. The recycling facility signs its own contamination measurement with its own key. Within 10 points, the pickup is verified and can be claimed exactly once. A second claim is refused by the contract. Anyone can check a receipt, and a changed receipt fails.

Who it's for, and how it scales

Property managers and condo boards of towers that already have a tri-sorter or separate chutes, the recycling facilities that take their loads, and the producers who pay for the recycling through Circular Materials. It clips onto the chute a building already owns: one small module per floor and one at the bottom. No new chute, no new bins. Residents keep pressing the same button; the fob tap is the one new step. The software runs on a laptop today, and the payer already exists: since January 2026, producers fund apartment recycling in Ontario.

Climate impact

Take one 300-unit tower: about 1.5 tonnes of recycling a week. At Toronto's 35.4% contamination rate, about 530 kg of that doesn't belong, and contaminated loads get downgraded or landfilled. When people got feedback at the source in East Lansing, contamination fell 23% against a control group. Applied to one tower, that's about 120 kg less contamination a week, roughly 6 tonnes a year, with floor-level feedback instead of photos of anyone. Toronto has thousands of towers. And because every verified pickup can be claimed only once, producers pay for real diversion, not reported diversion. These are stated assumptions, not measured results; the README shows the math and sources.

Why a blockchain, and why AI

Whoever keeps the recycling database is paid by the numbers in it. Here, two parties sign: the building signs what its chute recorded, the recycling facility signs what it measured, and neither can change the other's record. The contract compares them and only lets a verified pickup be claimed once, so the same tonnes can't be counted twice. The AI does the part no person can do at every drop: it looks at what went down the chute and describes it, and a rules table makes the call. The AI's claim can't be changed after the fact, and an independent party checks it.

How we built it

A Solidity contract (OpenZeppelin MerkleProof) with two signers, the building and the facility, on a local Hardhat chain. A Spring Boot backend in Java: web3j signs and sends the transactions, and it builds Merkle trees that match OpenZeppelin's StandardMerkleTree, so receipts verify on chain. The vision model is Gemma 4 running locally through Ollama, so photos never leave the device. A React website with the chute flow, a review tote and a by-floor view. Its centrepiece is The Seal, a live 3D view of a sealed pickup (three.js and cannon-es): every drop pours down a glass chute as the product the camera recorded (a can, a bottle, a chip bag), contamination in red, and gets pressed into one strapped bale. Click any item to check its receipt on chain. The floor panel, the metal sensor and the weight flap are simulated inputs in the demo, and the page labels them that way.

Challenges we ran into

Testing on real photos, the model rejected paper cups the rules accept and said it was 100% sure every time. So now the model only describes, a rules table decides, and anything unclear goes to a person. Our first rules table was also out of date: it said chip bags and foam don't belong, but Toronto's current list accepts both when they're empty. We checked every rule against Circular Materials' list and fixed it. Halfway through, we moved from a shared bin to the chute, because that's where Toronto towers actually put their recycling. Then we had to figure out black bags we can't see into. Turns out we don't need to: in recycling, the bag is the contamination. When we tested it with a real empty cracker box, the camera said it still had food in it. It was guessing from the outside. So now the weight decides empty vs full, and the camera only decides what the item is. Trini asked what happens when someone hides compost in the recycling. The camera catches what it can see, the facility catches the rest, and if they disagree, nothing gets claimed.

Accomplishments that we're proud of

It runs end to end. A photo goes in, the rules route it, a pickup gets signed on chain, the facility verifies it, the claim works once and gets refused the second time, and a receipt verifies on chain. Two independent signers, nothing personal on chain, and it's designed to clip onto equipment buildings already own.

What we learned

A blockchain doesn't make an AI correct. It makes the AI's claim impossible to change afterwards, so the design needs an independent check. We also learned how Toronto towers handle waste. The Toronto Green Standard requires new towers to have a sorting system, and a chute with a tri-sorter is one of the approved options.

What's next for ChuteGuard

Build the floor and sorter modules and price them per floor. Pilot it in one tower with a tri-sorter, with the property manager and residents opting in. Get a recycling facility to sign real load measurements. Then talk to Circular Materials about paying for verified clean pickups.

Built With

Share this project:

Updates

Submission history