How Rootstrap’s Engineers Used Machine Learning to Build a ‘Waste Classifier App’ to Help Correctly Deposit Waste

  • client

    Internal Project

  • duration

    4 months

  • team

    3 Developers

    1 CTO

    1 PM


our partner


Rootstrap partnered with Abito, an Uruguayan company that works with schools and businesses to help them recycle. Abito promotes the revaluation of waste by facilitating the classification at source and the transport of waste so that it can be recycled and composted.

Abito has an effective classification system that breaks trash into the following categories:

  1. Compostable items
  2. Plastic
  3. Paper & Cardboard
  4. Recyclable items
  5. General Trash

To help Rootstrap begin training the model they provided the Montevideo office with the necessary trash bins for classifying garbage correctly.

our objectives

Rootstrap’s Uruguyan office is based in Montevideo, which is home to Vertedero Felipe Cardoso, a wasteland of the size of 112 estadios centenarios (112 stadiums).

The Rootstrap Team wanted to create awareness and promote the benefits of waste classification. Rootstrap is committed to Sustainability and generating impact on the environment.

Rootstrap’s Engineers did the math and their data estimates that 65% of garbage generated can
be recycled



Did you know..?

We are producing over 380 million tons of plastic every year, and some reports indicate that up to 50% of that is for single-use Purposes. In the last ten years, we have produced more plastic than in the entire history of humanity.


Where does plastic go?

Only 9% of plastic is recycled, the rest go ends up in the ocean. It degrades into tiny particles called “Microplastic”. “If current trends continue, our oceans could contain more plastic than fish by 2050." -


Machine Learning
is not just robots,
it can help
the environment.


Develop an innovative Waste Classifier app powered by Machine Learning algorithms to educate users on the correct and most effective method to dispose of waste and recycle items efficiently.

From a picture of the items/garbage, the application will be able to tell you where to correctly classify and dispose of the items in question.

Provide a functionality via Machine Learning where users can contribute to the model’s performance to produce the most accurate decisions possible and train the model to reduce as much human element as possible.

Promote awareness
of the waste
process and its benefits for the environment. Start a conversation around
the topic and encourage user feedback and participation to improve the model.



Creating and building an effective machine learning model to classify garbage correctly is no easy task

It can be difficult to correctly know where to put waste, and transitioning these human difficulties into a machine learning environment was the biggest challenge Rootstrap’s Engineers faced.

    The project originally started out as a PIS (software engineering project where students simulate a real company), and during the process, the model had to be completely rebuilt from scratch as the original model created did not work to the standard required. The model needed a full revamp to improve performance and machine learning algorithms.

    A machine learning model of this type needs a significantly large amount of data to learn in general, and in this case, classifying specific types of garbage correctly, needed thousands of pictures of garbage to be incorporated into the cloud for the model to learn.

    The general confusion surrounding what can and cannot be recycled and classification mistakes can have consequences. Rootstrap’s Engineers had and continue to put vast amounts of effort and work into determining the correct methods of recycling to train the model.



    As mentioned, the 'RootTrash' mobile application project began as a PIS project where Rootstrap worked with local students from Universidad de la República - Uruguayan public University, in which they mentored the project. Rootstrap Engineers presented them with the project to create this application.

    Once the PIS was completed, Rootstrap’s Machine Learning Engineers refactored the code to create an internal project. They incorporated the machine learning model into the Rootstrap Montevideo office.


    They designed, developed, and trained this machine learning model to classify garbage correctly while constantly improving its performance via user feedback. To achieve this, they developed and deployed a Django server, as well as a React Native FrontEnd to ensure the application can work in iOS and Android.

    Roostrap’s Engineers set up the correct recycling bins with test devices with the app installed near trash cans to take pictures to train the model. These large amounts of pictures are stored in the cloud. They then deployed the working model to the cloud, constantly improving through maintenance and user feedback.



    An innovative, fully functional, and constantly improving Waste Classifier mobile application that can successfully classify solutions and results.

    This highly successful product is currently deployed internally and in the development phase for full release on iOS and Android.

      This machine learning model is effectively developed in a generic manner to ensure it is flexible and not solely dependent on Abito’s classification (project partner) or any single company or entity.

      This flexibility allows for users of the model to edit to their specific needs and allows for integrations with other criteria for classification, such as classifying other categories like metal over plastic.

      By deploying the working model to the cloud, the model is constantly improving through maintenance and user feedback via an embedded option in the app to correct results/classifications to retrain and better the machine learning model.


      How it works


      The Mobile App is separate from the model. It uses pictures to retrain and maintain model. There is an option in the app to correct the model (so it can get better and retrain)

      The model promotes user participation via a specific feature used to gain feedback and improve its overall performance

      App Takes pictures of items sent to model in the cloud and returns correct classification to the app. The application then asks users if is this correct therefore encouraging feedback