We’re all guilty of mistakenly throwing away trash in a recycling bin or tossing a paper cup in disposal meant for plastic. These alarming statistics led us to choose this project for the hackathon:

Over 1 million seabirds and 100,000 sea mammals are killed by pollution every year.*

1 in 4 items thrown in a recycling bin aren’t recyclable. ~Waste Management

Over 75% of waste is recyclable, but we only recycle 30% of it -

*A whopping 91% of plastic isn't recycled ~National Geographic *

What it does

Our website does many different things. The main feature is a machine learning model that can predict the type of waste material and classify it into five different categories: glass, metal, paper, plastic, or trash. It then returns the result when a user uploads an image and says which bin it should be in. We also have an assessment module that returns whether a user is doing enough to help the environment, can do more, or is harming the environment, based on 9 questions we ask. If the user answers correctly based on the Yes and No (obvious from the questions what is correct and not), then they get 5 points. As such, the maximum points you can get is 45, and the minimum is 0. If you do at least 6 of the 9 questions, then we return that you are helping the environment. If you do 4 of the 9, we return that you can help more with the environment. And if you get less than 4, we return that you are harming the environment. Then, we have a learning section with informational videos and FAQS, which enhance user's understanding about different parts of the environment. Finally, we have a blog section, where people can spread awareness to others about information they know.

How we built it

We used Python, Flask, HTML, CSS, Bootstrap, JavaScript, and NanoNets. For the actual process, we first created the UI in HTML, CSS, and Bootstrap, making the site responsive and easy to use. Afterward, we created the machine learning model by training it with 300 data points, resulting in a 95% accuracy. From there, we created a Python server using flask, to both call the machine learning model and get the result to be displayed to the user. For the diagnosis/assessment, we used vanilla JavaScript to return the results. Lastly, the blog was built with Python and flask.

Challenges we ran into

Updating the UI after getting the data from the Python server was a challenge for us, but we eventually solved this problem by creating another button that fetches the data from our Python server. Additionally, Sampson, who was also part of our team, was having technical difficulties, so he was not able to be a part of the recording. Getting the model to accurately predict images was a challenge because we had to account for all the different ways a user could submit their image. Finally, due to time time constraints we could not show off our full diagnosis/assessment module and its description, so it is included above.

Accomplishments that we're proud of

First, we are proud of getting the Machine Learning Model to be 95% accurate in classifying images based on the categories. We are also proud of creating our own API in Python and Flask that we are able to call using JavaScript. Third, we are proud of creating our first web server.

What we learned

We learned how to use Python to create a web server, how to create an API, and how to use machine learning in a web app.

What's next for EnviroHelp

Create a mobile app, so that users are able to take a picture with their phone and immediately get results.

Share this project: