Inspiration
Improper waste disposal isn’t usually about people not caring. Most of the time, they just don’t know where something should go. Recycling rules change depending on the country, city, even neighborhood, and there isn’t a single, easy-to-use source that gives the right answer for everyone’s location. We wanted to fix that by building a tool that works anywhere, adapts to local rules, and only asks the user for a photo.
What it does
TrashVision is an AI-powered web app that recognizes waste from an image and creates a detailed, location-specific disposal report. The user uploads a photo, enters their location, and within a few seconds gets clear guidance on which bin to use, how to prepare the item step by step, a local disposal tip, and a full environmental impact summary. This includes decomposition time, carbon emissions, risks to oceans, soil and wildlife, microplastic impact, and how much energy can be saved through proper recycling.
We made TrashVision publicly accessible as a website. No account required, no installation. If you have internet, you can use it.
How we built it
TrashVision runs on a modern web stack. The frontend is a single-page app built with HTML, CSS, and JavaScript. The backend is a Python API using FastAPI, deployed as a serverless function on Vercel. For AI inference, we use Groq’s API. Llama 4 Scout handles vision-based waste classification, while Llama 3.3 70B generates the localized disposal instructions and environmental impact data. The whole pipeline, from image upload to structured output, completes in a few seconds.
Challenges we ran into
Since Llama 4 Scout is a relatively new model, we frequently ran into capacity issues during development, especially 503 errors under load. To handle this, we implemented exponential backoff retry logic and added a fallback to a secondary vision model. This kept the system stable even during peak usage. Another challenge was making sure the AI responses stayed consistent across different waste types and locations. We solved this with careful prompt design and a solid JSON extraction layer to enforce structure.
Accomplishments that we’re proud of
TrashVision is not just a prototype, it’s a working product that anyone can access right now. One of the things we’re most proud of is how well it handles localization. Instead of giving generic advice, it generates disposal instructions and tips tailored to the user’s exact location, whether that’s Zambia, Germany, or anywhere else. We’re also proud of the environmental impact layer, which turns a simple recycling question into something more informative and meaningful.
What we learned
This project taught us how to build AI systems that are both reliable and user-facing. It’s not just about getting correct outputs, but also handling failures properly and keeping responses structured and usable. We also realized how important deployment decisions are. Making the app public and removing barriers wasn’t just a technical choice, it directly affects who can benefit from it.
What’s next for TrashVision
We plan to support detecting multiple items in a single image. We’re also looking into a mobile-first version and adding a community reporting feature so users can flag incorrect guidance in their area. Long term, we want to turn TrashVision into a platform that not only helps individuals but also collects anonymized data to help cities understand waste patterns better.
Transcripted subtitles available for demo video.
GitHub: https://github.com/MRamazan/TrashVision
Built With
- css
- fastapi
- groqapi
- html
- javascript
- python
- vercel
Log in or sign up for Devpost to join the conversation.