Inspiration
Waste sorting is confusing because every city has different rules. People throw away perfectly good recyclables just because they don't know better. Bright Planet uses computer vision to instantly classify anything and tell users exactly what to do with it locally.
What it Does
When you upload or scan an image/barcode, you'll get an instant waste classification label with helpful disposal tips. Bright Planet also shows confidence levels for that classification label, the reasoning behind the decision, and the top 3 alternative categories that the image of the item falls under. These disposal tips, along with a location finder, helps users dispose of waste no matter what it may be.
How We Built It
The frontend was built using Typescript, TailwindCSS, Next.js, and Lucide icons. The Python + FastAPI backend does the computer vision analysis using image colors, textures and shapes. For scanning barcodes using the device's camera, the @yudiel/react-qr-scanner library was used. The site was deployed with Vercel for the frontend with the backend deployed via Render.
Challenges We Ran Into
Using computer vision to try to identify the items in the images was challenging. I would've liked to use a Gemini model for image classification tasks if given more time. Deploying the backend separately on Render also took a lot of time. Even though the backend service worked locally, I ran into complications deploying the Python/FastAPI backend.
Accomplishments
I think the simple interface along with the brief but informational quick-guide on waste categorization and tips on disposal helps make the site very user-friendly and intuitive. The other alternative categories for the image detection was also a feature that could help boost the site's clarity and usefulness to the user.
What We Learned
While I learned a bit on computer vision for image/object recognition via analysis done on RGB colors, textures and shapes, there were more qualities that could've been implemented for the analysis. I also learned a lot about deployment, specifically in deploying a Python backend with Render services.
What's Next for Bright Planet
Working on deploying the site, as well as working on the map/location finder for waste disposal and recycling are the biggest tasks for this site. Some other ideas to improve the site and image detection/classification is to implement other APIs and services with highly accurate and context-aware capabilities.
Built With
- fastapi
- github
- lucide-react
- next.js
- python
- react
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.