💡 Inspiration
Recycling only works when items go in the right bin. But the rules are confusing: does a greasy pizza box go in paper? Can you recycle a bottle cap? A single wrong item can contaminate a whole batch and send it to landfill. We wanted a tool where anyone can just take a photo and get a clear answer.
🧠 Brainstorming
We compared three ideas: a plant disease detector, an alt-text generator for images, and a waste sorter. We chose EcoSort because image AI is the core of the product (no photo, no app), the problem is real for every school and home, and it let us practice Java OOP design.
♻️ What it does
- The user uploads or captures a photo of an item.
- The image is preprocessed (resize, normalize).
- A pretrained image classification model predicts the material: plastic, glass, paper, metal, organic, or e-waste.
- The app shows the correct bin, why, and how to prepare it.
- If confidence is below a threshold, it asks for a clearer photo instead of guessing.
- A history log and stats screen show what the user has sorted.
🛠️ How we built it
- Language and tools: Java 17, Maven, JavaFX
- Image AI: Deep Java Library (DJL) running [model name] locally, with [OpenCV / Java ImageIO] preprocessing
- Label mapping: model outputs are mapped to our 6 waste categories with a rules table
- Design (OOP): an
ImageClassifierinterface (DjlClassifier,MockClassifierfor testing), an abstractWasteItemclass with subclasses for each material, custom exceptions for bad images, and a history saved to a file - Resources: [dataset or model source, e.g. TrashNet / DJL Model Zoo. Name only what you actually used.]
🧗 Challenges
- Everyday waste photos are messy: crumpled, dirty, or partly hidden items confuse the model
- Mapping general model labels to practical bin categories
- Choosing a confidence threshold that avoids both wrong answers and constant retakes
- Building and testing everything within the hackathon weekend
📊 Results
We tested EcoSort on [N] photos. It classified [X]% correctly. [Describe weak cases and what you'd improve.]
📚 What we learned
- How to run image classification inside a Java app
- Why preprocessing and confidence thresholds matter as much as the model
- How interfaces make AI components easy to swap and test
- How to explain an image AI project clearly in under 3 minutes
🔮 What's next
- Train or fine-tune on a dedicated waste dataset
- Local bin rules by city or campus
- Real-time webcam sorting
- A mobile version and a school recycling dashboard
👥 Team
[Name] - [role] · [Name] - [role]
Built With
- computer-vision
- deep-java-library
- djl
- image-classification
- java
- machine-learning
- maven
- opencv
- recycling
- sustainability
Log in or sign up for Devpost to join the conversation.