Inspiration
Our teammates were inspired by the trash situation at UCLA. While most students were sorting trash, it was insufficient to reduce cross contamination of different types of trash because of the numerous misconceptions of the types of trash (such as wrappers being recyclable). Additionally, we wanted to add some motivation for the users of our app to continue using it and earn points, while also providing a humorous aspect to people's lives. Therefore, we came up be LitterAlly (pronounced "literally"), which provides a highly accurate AI that classifies the type of trash you have in hand, simultaneously motivating the user by giving points for disposing trash.
What it does
The app has a home page, profile page, scanner page, and a learning/info page. The user is able to use the scanner to take a picture of a piece of trash, and a sequential classification model will analyze the photo to determine whether the piece belongs in landfill, recycling, compost, or hazardous waste. Based on the category and environmental footprint, the app will make snarky comments about the user and grant them XP which can let them earn achievements. The learning page contains information about all four categories of waste, examples of those types, and some fun facts about them.
How we built it
The front end was built using React Native, while the AI was being built with readily-available libraries from pytorch, tenserflow, flask, etc. We first started with 2 separate parts, the AI and the front end, merging them together towards the end.
Challenges we ran into
This was our first time participating in a hackathon and we were not familiar with the coding environment and various syntax for the various tools and languages. We also struggled to combine the AI and the front end together, because of the incompatibilities between python and js. Moreover, activating the camera was a very elaborate process.
Accomplishments that we're proud of
We were very proud of building our first ever mobile app from scratch. We started with a clean slate, designed the basics of functionality and UI, and the end result exceeded our schematics from the start. For many of us, it was our first exposure to js, and to be able to write, debug, and understand the code at such high level was completely beyond our expectations. Finally, the results of the AI model speaks for itself, posing very high accuracy of 98% and showing little to no signs of overfitting. We are very proud and happy for what we've achieved in such a short time.
What we learned
We learned how to implement a mobile app from the start, and certain things to avoid, such as trying to host the backend on Google Collab. We also learned how to troubleshoot more hardware side of things, such as accessing the camera of the phone. Finally, we have learned how to use git, realizing the UI elements in code, and trying to integrate 2 very different languages together at the end.
What's next for LitterAlly
We wanted to add a social media aspect to the app, encouraging friends and family to have a bit of competition for higher points and better categorization of the trash types.
Built With
- expo.io
- flask
- javascript
- node.js
- numpy
- python
- react-native
- tensorflow
- vscode
Log in or sign up for Devpost to join the conversation.