Inspiration

Both Raeva and I have often found ourselves unsure about how to correctly throw things away. Should it go in the recycling, the trash, or the compost? What about trickier items like metal parts, batteries, or old clothes? In fact, over 60% of people accidentally dispose of waste incorrectly, which leads to increased landfill pollution and contamination in recycling facilities. This confusion is what inspired us to create RenewIt.

RenewIt is an iOS app designed to take the guesswork out of waste disposal. Using a custom-trained machine learning model, the app allows users to upload or take a photo of an item. Based on the image, the app identifies what type of material it is and then provides step-by-step disposal instructions. Whether it’s a plastic bottle, a pair of shoes, or an old phone battery — RenewIt tells you exactly what to do. It also includes a map feature that shows the closest recycling centers, donation spots, or drop-off points based on your location, complete with directions.

What it does

  1. Take or upload a photo of an item they want to dispose of.
  2. Automatically classify the item into one of 10 waste categories (e.g., plastic, clothes, battery, paper, metal, etc.).
  3. Display detailed instructions about how to dispose of that item properly — whether it's recycling, donation, or safe trash disposal.
  4. Access a built-in map powered by MapKit that shows the nearest drop-off, donation, or recycling location, based on the item type and user’s location.
  5. Tap on a map pin to view directions on how to get there.

How we built it

We collected and curated a dataset of over 20,000 labeled images across 10 different waste categories. We split the data into training and validation sets and trained a Convolutional Neural Network (CNN) using Create ML. We fine-tuned hyperparameters and cleaned the dataset to reach an accuracy of over 91%. We used Apple's Vision framework to integrate the Core ML model, enabling real-time image classification directly on the device. To show nearby recycling and donation centers, we used MapKit for rendering maps and CoreLocation to get the user’s real-time GPS location. We combined these with local pin data and MKLocalSearch to allow users to search for locations like “glass recycling” or “battery drop-off.” We used @State and @EnvironmentObject to handle view transitions and data flow between components like the scanner and map view.

Challenges we ran into

Our biggest challenge was improving the accuracy of the machine learning model. When we started, the model only achieved about 50% accuracy, which wasn’t good enough for real-world use. To fix this, we, collected more data for underrepresented classes (like “biological waste” and “metal”), added data augmentation (e.g., flipping, rotating, brightness changes) to reduce overfitting, trained for more epochs and tuned the learning rate.

Accomplishments that we're proud of

We’re really proud of the fact that our app gives step-by-step guidance for over 10 types of waste using only a picture. But the feature we’re most proud of is the map and navigation system.

What we learned

Through this project, we learned a lot about mobile development and machine learning integration. We became proficient with Xcode and SwiftUI for building a clean and responsive interface, and we gained hands-on experience training and deploying a Core ML model using Create ML. We also learned how to use MapKit and CoreLocation to handle user positioning and location-based search.

What's next for Renew It

We plan to release RenewIt on the App Store, so that everyone can benefit!

Share this project:

Updates