I am extremely passionate about environmental issues and nature, so I decided to focus my project on these issues, specifically recycling. As of now, there is a significant human workforce in recycling plants, significantly bogging down the speed of sorting, which reduces the amount of product that can be recycled. Humans work at almost half the speed of robots. As of now, the ML algorithms used to sort recyclable materials from trash/tanglers are not very accurate, and so humans are required to screen the items before they can be sorted more by machines. Due to this, humans slow down the process to their speed. The largest bottleneck to well-trained models is a lack of human-labeled images. I believe that the convenience and competitive structure of TrashPanda will motivate environmentally conscious people to participate in this community service

What it does

My app provides a gamified service, integrated with Facebook login, where large numbers of people can come together on this cause. Unlabeled images of materials are displayed to the user, who can then choose from 6 options (glass, metal, plastic, paper, trash, and unsure). Upon labeling a recyclable item, the user earns 'bottlecaps', which will be used as a reward and ranking system upon further development. After being labeled in the same way by multiple people, the images can be used to refine and train the currently inaccurate models.

How I built it

I built this app using, which contains both a UX/UI design platform, as well as a backend database. I created the pages using this platform, as well as the workflow paths linking the pages. I also created a mini database for the images to be labeled containing 5 photos of recyclable materials with properties counting the number of times glass, metal, plastic etc. had been chosen. Finally, I integrated the facebook-login-api to provide a secure login and saved user information.

Challenges I ran into

The biggest challenge I ran into was managing the database of photos and keeping count of the votes per photo. I have never worked with databases before, so integrating the backend with the frontend UX/UI was difficult for me. The app is still in development, so one has to refresh the page to see the new image appear, but I was able to make the images update their counts in real-time based on the user's button choice.

Accomplishments that I'm proud of

I am very proud that I was able to create a working app by myself within one weekend. This is the first app I've made that has a functional backend, as well as a Facebook login. Getting all the components to integrate was difficult, but rewarding.

What I learned

I learned how to use databases to store and update data from user input. I also learned how to use the Facebook-login-api and the Facebook for Developers portal.

What's next for TrashPanda

Next, I would like to add a social feature with leaderboards and friends based on bottlecaps, the point system within the app. I would also like to launch this app to the Play Store so that I can begin to collect labeled data and train models with the data in the Google Cloud Platform.

Built With

Share this project: