Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for ごみ先生 — Gomi Sensei
Inspiration
In Japan, garbage sorting is a daily puzzle: burnable on Mondays and Thursdays, plastics on Wednesday, non-burnables only on the 1st and 3rd Tuesday, hazardous waste once a month. Every household has, at least once, stood in front of the bins holding an item and thought — "which one is this?"
We built Gomi Sensei to make that question disappear. Snap a photo of any item, and AI tells you exactly which bin it goes in.
What it does
Gomi Sensei is a single-page web app that classifies a photo of an item into one of six Japanese garbage categories:
- 燃えるごみ (burnable waste)
- プラスチック製容器包装 (plastic packaging)
- 資源ごみ (recyclables — cans, bottles, paper)
- 燃えないごみ (non-burnable waste)
- 有害ごみ (hazardous waste — batteries, bulbs)
- 粗大ごみ (large items, by appointment)
Every result comes with a confidence score and practical disposal advice: how to prepare the item (rinse it, don't crush it, bundle it, wrap broken glass) and which collection stream to look for.
How it works
The entire app is one HTML file with zero dependencies to install and zero servers. The classification runs fully client-side:
- CLIP (clip-vit-base-patch32) via transformers.js — ONNX runtime with WebAssembly, q8 quantized
- 15 English prompts describing common trash items, mapped to the 6 categories
- The model scores the uploaded photo against every prompt, and the highest-scoring prompt per category wins — a robust aggregation that lets one category cover many item types (a can, a bottle, and a newspaper all roll up into "recyclables")
Because the model runs in the browser, the photo never leaves the device — no uploads, no accounts, no privacy trade-off.
Automation angle (EvoHacks theme: AI for Automation)
Gomi Sensei automates a genuinely repetitive decision — the daily "which bin?" moment — by replacing a lookup (municipal websites, PDFs, apps with confusing tables) with a single photo. It also automates the knowledge part: the disposal advice for each category is attached automatically to every classification.
Challenges
- Prompt engineering for zero-shot CLIP: a single prompt per category was unreliable (e.g. "a photo of garbage" matches everything). The fix: multiple concrete prompts per category + per-category max aggregation.
- Keeping it honest: CLIP can be confidently wrong on ambiguous items, so the app always shows the confidence score and every category's advice includes a "check your municipality's rules" note.
Verified results
Real test images (Wikimedia Commons), first run:
| Item | Classified as | Confidence |
|---|---|---|
| AA battery | 有害ごみ (hazardous) ✓ | 32% |
| Aluminum can | 資源ごみ (recyclables) ✓ | 20% |
| Newspaper stack | 資源ごみ (recyclables) ✓ | 99% |
| PET bottle bales | 資源ごみ (recyclables) ✓ | 65% |
4 out of 4 correct on the very first test run.
What's next
- Municipality presets (local categories + collection days)
- Multi-item photos (detect and classify several objects at once)
- A "collection day" reminder that reuses the schedule model from our Gomi Navi project
Built With
- ai
- clip
- computer-vision
- html5
- javascript
- machine-learning
- sustainability
- transformersjs
- webassembly
- zero-shot-classification
Log in or sign up for Devpost to join the conversation.