Inspiration
We grew up in Indonesia where most public bins didn’t separate waste. Everything went into one container, which meant piles of mixed trash and missed recovery. In contrast, places like Sweden turn well-sorted waste into energy. That gap inspired Trash Scan: a simple, camera-guided assistant at the bin that tells you instantly, whether an item is recyclable or biodegradable. The objective isn’t merely accuracy; it’s creating a feedback loop that turns small moments into lasting sorting discipline.
What it does
Trash Scan: a camera-mounted bin that recognises the item you’re holding and immediately tells you if it’s recyclable or biodegradable. Our web demo mimics the embedded screen and live camera.
How we built it
Model: YOLOv8 (Ultralytics) trained on our dataset (train.py, 50 epochs). Best checkpoint (best.pt) is served for inference. Backend: FastAPI service exposing /detect (and WebSocket variant /ws/detect). Accepts JPEG frames, returns {label, confidence, category: recyclable|biodegradable, annotated_image}. Frontend: React + Vite UI. Uses getUserMedia + + to capture frames, then: HTTP mode: POST frame to /detect. WS mode: stream compressed frames ~10 FPS and draw returned boxes on an overlay canvas. UX: Instructional hero, live “camera view” with aesthetic guides, and a bounding box with description of recyclable/biodegradable
Challenges we ran into
In order to get the right AI confidence rate, training the data took a long time and needed proper GPU power. The integration of frontend and backend took a lot of trial and error.
Accomplishments that we're proud of
A working end-to-end and real-time prototype with clean and instructional UX that reduces guessing when throwing away trash. Solid team effort as well.
What we learned
Training AI detection systems catering to our needs, using the camera lens from the laptop, backend frontend coding, UI/UX techniques and styles.
What's next for TrashScan
Develop the detection system to be more accurate and could scan more varied trash types. Also develop the right trash bin that can use the detection system and properly allows the users to throw the trash at the right place
Built With
- fastapi
- react
- vite
- yolov8

Log in or sign up for Devpost to join the conversation.