Inspiration
After looking at the recycling and garbage can at my school, I was thoroughly disappointed. Plastic bottles in the glass recycling container, metal cans in the garbage. Oh, it was terrible -- but my app is the solution. Since us high schoolers are always on our phones, I can exploit this in order for us to become more aware and conscious about our recycling choices. The convenience of taking a photo is unmatched; being lazy is actually an asset for saving our world.
What it does
Classifies an object if it recyclable, and if so what type of recyclable, or if something is garbage. Uses the EfficientNetB0 Object Recognition model from Tensorflow, alongside some extra training with recyclable data.
How we built it
React Native + Node.js API backend. TensorFlow.js Object Recognition with EfficientNetB0 model base. The EfficientNetB0 model is trained on over 10,000 images of recyclables/garbage in order to be as accurate as possible. The React Native frontend and Node.js backend combination allows for the app to be hosted on a variety of devices. Even an Apple TV could run this, provided that it has a camera.
Challenges we ran into
Unfortunately, the Tensorflow.js React Native library is severely outdated and did not function under the newer React versions, so I did not use it. Instead, I switched over to a Node backend for the ML classification, using the Node.js package for Tensorflow.js.
Accomplishments that we're proud of
It was my first time using Tensorflow, and I learned a lot about machine learning that is not really seen from the surface. I thought machine learning would be easy, but it turned about to be difficult. However, that makes me even more proud of what I've done.
What we learned
Machine learning is definitely harder than it seems on the forefront. There is so much complicated mathematics that goes on behind the scenes that makes even Tensorflow look like simple Scratch. However, this opportunity let me become comfortable with the Tensorflow library both in Python and in Javascript, and I'll be sure to use it more in the future.
What's next for RecycleBot
Instead of just offering pictures and explaining of something is recyclable or not, I want to have some more educational content regarding each material. For example, when a user scans metal, the app should find a nearby metal scrap shop for the user to sell their scrap to.
Built With
- express.js
- node.js
- react
- react-native
- tensorflow
- tensorflow.js
- typescript
Log in or sign up for Devpost to join the conversation.