Landfills produce approximately 25% of Canada’s methane emissions, and recycling is a key component in reducing the waste that ends up in landfills. However, when a piece of garbage is accidentally thrown into the recycling bin, it’s a costly and labour intensive process to identify it, and transport it to a landfill. I wanted to use a combination of design, and technology to help address this problem and settled on a mobile app that helps users recycle better.
I was listening to a podcast from Sidewalk Labs about recycling and they takeaway that I got was that a) recycling isn't as easy as you'd think b) recycling contamination is incredibly costly and c) this is a problem that's best addressed at the user level (I.E it's best to prevent recycling errors at the individual level). I wanted to develop a product that added extra domain knowledge in a fun and novel way - in going with this I decided on a snapchat style app where the user takes a picture and receives a classification at the critical part of the disposal process: when someone makes the decision to recycle or throw away an object. The style had to reflect the novelty of the app so I chose to use softer colours, rounded fonts and thoughtful micro-animations.
I started off by building wireframes in AdobeXD, this allowed me to conduct user testing to decide on how many classifications should be available, how should the classification be displayed and how should extra domain knowledge be given. After developing hi-fi mockups I developed the app in ReactNative, which means it can be run on Android and iOS. All animations were implemented using Lottie for React Native, and the convolutional neural network was implemented using Clarifai's computer vision API.
I received a lot of great feedback on the app! Over 100 people have used it, and it's received over 1000 views on LinkedIn. I was proud of the app's simplicity, how it gives a response in <10s and can classify objects with a relatively high degree of accuracy. But it also highlights some of computer vision’s shortcomings. Objects like burrito wrappers are hard for humans to classify as recycling or garbage because they look like recycling. It requires extra domain knowledge to know that they are in-fact not recyclable. Therefore, to help protect against edge cases that a model would misclassify, extra domain information would be a valuable addition to help provide greater context to the user. Which again demonstrates the need for great design choices, to provide a wholistic experience when technology alone fails.
UI/UX mockups are awesome but seeing something come to life front to back is a great experience!