Inspiration

Going into our first hackathon we knew we wanted to create something that could have a positive effect on the environment. After eating our pizza we noticed the abundance of plates left on the tables all around and wondered why don't people pick there trash. That's when we came with the idea of Soteria.

What it does

Soteria is an app that is designed to gamify the act of picking up garbage. Soteria works by getting you to take a picture of trash on a surface, then after you clean up the trash take another photo and uploaded both images to the webapp where you will be given points based on the amount of trash you removed. The points are designed to be compared with our leaderboard where you can see your standing in relative to other users. There are also different achievements the user can earn, along with a streak count that motivates them to keep picking up trash daily.

How we built it

We built Soteria using a MongoDB in order to store account all information online such as username, password, points, position in leaderboard. The MongoDB allows us to store all this information on the cloud meaning the the leaderboards are constantly up to date. For our computer vision model we actually used 2 models, Yolov8 and Claude Haiku. We get both models to find how many pieces of trash are in both photos and cheek to see if the models agree with each other. If they don't agree we give a warning that there was a AI disagreement and it uses the lower amount of items as the quantity of points given. This approach makes the actually guess of the amount of trash removed significantly more accurate compared to using just a single model.

Challenges we ran into

Challenges we ran into in the development of Soteria include setting up the locally hosted server for the first time. At the beginning we couldn't even get a single green box to load on the website and after hours of tutorials and help from mentors we where finally able to understand the process of starting a locally hosted server on your device. Another really tricky part of developing Soteria was making sure the MongoDB worked properly. We wanted to make sure that no matter what device was running the website the leaderboard and all account information would be up to date. After doing some researching and asking around we started trying to figure out how to use MongoDB where after hours of troubleshooting we where able to successfully make sure all builds of the website where able to connect to the database.

Accomplishments that we're proud of

We're proud that we were able to go from not even knowing how to build a github repository to learning how to successfully intergrate AI tools like Claude and yolov8 into our project in a positive and ethical way. Some specific accomplishments we're proud of include getting the MongoDB up and running, figuring out how to intergrate the second AI model- Claude, as well as debugging and fixing minor issues with the UI and web app loading speed.

What we learned

Firstly, we learned a lot about Yolov8 and Claude api intergration for the AI aspect. We spent a lot of time testing it with multiple different images of trash to check its detection accuracy and results. Secondly, we learned a lot on how to set up a functional MongoDB that allowed us to store information from the user for the leaderboard.

What's next for Soteria

We plan to scale up Soteria to include more game features such as a proper, custom avatar builder as well as more environmentally-focused activities such as planting trees, conserving resources, composting, etc. that the user can earn more than 1 point for doing. On the technical side, we plan to implement a metadata tracker so that the images can be verified for time-stamps to prevent cheating (before photo has to be taken before the after photo) and actually uploading everything on the internet + adding more security to make a fully functional web app. We also want to add the feature where you can view progress over time, which would use satellite technology to asses which areas around the world are more in need of cleanup than others and how different areas of our planet changed in respect to litter. This feature would alert the users what areas are in more need and encourage them to pick up litter in that area, further supporting our environmentally-focused initiatives.

Built With

Share this project:

Updates