Inspiration

How often have you had to stop and think before throwing an item away? Wondering if you should toss it in the trash, put it in the recycling, or find a nearby drop-off center? When faced with these questions, people often just take the easy route and send recyclable, donatable, or even hazardous items straight to the landfill thinking: "what's the worst that could happen?" This is an issue caused by a lack of knowledge rather than a lack of intent, which is exactly what WasteLess solves.

What it does

WasteLess allows users to snap a photo of the item they want to dispose of and immediately provides clear instructions on how to properly get rid of it in the most sustainable way for the planet. For electronics, batteries, and clothing, it also shows the closest drop-off and donation spots near the user. If scanning isn't an option, users can look the item up in a built-in guide instead.

Benefits

Proper disposal protects ecosystems, preserves energy and resources, and mitigates greenhouse gas emissions. Recycling one ton of office paper can save 7,000 gallons of water, 322 gallons of gasoline, and other resources alone. Ewaste management could avoid tens of millions tons of CO2 emissions. Food scraps and yard waste make up over 50% of landfill methane release, when they could instead be composted and contribute back to the environment. People would contribute to sustainability if they how to.

How we built it

Instead of training our own model, the backend combines three existing computer vision models with Google's Gemini. A Python (FastAPI) server sends each photo to three pre-trained models at once through Roboflow's hosted inference API:

  • A waste material detector that sorts items into plastic, glass, metal, paper, cardboard, biodegradable, and cloth
  • YOLOv8 trained on the COCO dataset, where we only keep the electronics classes (phones, laptops, keyboards, mice, remotes, and small appliances)
  • A battery detector shared by the Roboflow community

Our own logic merges their answers. Electronics and batteries take priority, since a battery in the recycling bin can start a fire. A battery result also has to beat the material model's confidence, because the battery model tends to mistake cans and boxes for batteries.

At the same time, the photo goes to Google's Gemini vision model as a second opinion. Gemini picks a category from the same list and names the item (for example, "Looks like: AA battery"). Its answer wins when it responds, and the app falls back to the Roboflow result if Gemini is unavailable. To measure the difference, we built a test set of 67 real photos: the Roboflow models alone got 58% of items right, and with Gemini checking every scan that rose to 99%.

Each category maps to our own disposal rules: which bin it goes in, plus tips. For electronics, batteries, and clothing, the backend searches the Google Places API for nearby e-waste recyclers, battery drop-offs, or donation spots and returns the three closest. The user's location is only used for that search and is never stored, and all API keys stay on the server, never in the app.

The frontend is built with Expo (React Native and TypeScript) and exported as a website, so anyone can open it in their phone's browser without installing anything. Both halves are deployed on Render's free tier. The website is a static site, and the API is a web service that goes to sleep when it isn't being used, so the app wakes it up when it opens and lets users know if it's still starting. The app asks for camera access to scan, and only asks for location when an item actually needs a drop-off spot.

Challenges we ran into

The biggest challenge definitely came at the start when searching for a model trained on a dataset that met both our accuracy and category needs. The most accurate models lacked critical categories like electronics and batteries, while the models that included all the classes we needed were lackluster in performance. We first combined multiple models and routed predictions based on confidence and priority, since properly disposing of electronics is much more critical than misclassifying a piece of paper. In testing, though, the results were inconsistent and leaned heavily toward labeling things as electronics or batteries. So we built a test set to measure it instead of guessing: the combined models got only 58% right. Tuning thresholds and trying five other models didn't fix it, so we added Gemini as a second opinion on every scan, which brought it to 99%.

Accomplishments that we're proud of

We are really proud of how we incorporated real-time user feedback from fellow hackathon participants, putting the principles of iteration and human-computer interaction (HCI) from our coursework into practice. Talking to actual people who would use the app helped us come up with helpful features we would have otherwise overlooked, like automatically pointing users to the nearest disposal location.

What we learned

Building a fully functional mobile-first app in 24 hours is tough without the right execution, tech stack, and prior knowledge. Leaning into our comfort zone of web development while using Expo definitely made the process smoother, allowing us to ship a working product while learning how to handle the issues that come across different device types.

What's next for WasteLess

A population more aware of (and empowered to take) sustainable actions every day.

Built With

Share this project:

Updates

Submission history