Inspiration

The question, "is this recyclable?", is an all too common one. We noticed that both ourselves and our peers have a hard time classifying what bin certain trash items belong in. Finding resources for your local waste regulations is currently very complicated, as a google search only results in long and unreadable databases. This problem had us questioning how we could design a solution that would concisely tell someone exactly how to dispose of a given waste item, ultimately encouraging people to dispose of their trash items correctly. Bin Buddy aims to provide a user friendly experience that removes the hassle of sorting trash items and is actively making a change in the amount of recyclable waste that reaches recycling facilities instead of landfills.

What it does

A user is able to input any item that they want to know the recyclability of. This input is then compared to the City of Toronto's waste recyclability database, and uses OpenAI to find the most similar entry. Relevant and concise data of how to properly dispose of the waste item is then displayed to the user. For items that cannot be traditionally recycled, such as electronic waste, the user is prompted to view our Depots Near Me feature which will provide nearby locations that will accept these items. For more information about recycling guidelines and current statistic, users can view our Guidelines feature.

How we built it

Our application is developed using React.js for our frontend and a Flask app for our backend. Input is gathered from the user by two different methods; text or speech. This input is then posted to the backend where we use OpenAI GPT-3.5 to determine the most relevant information based on comparing the user input to the options available on the City of Toronto's waste recyclability database. A concise summary of our findings is returned to the frontend where the results are displayed clearly to the user. The Depots Near Me feature is powered by Google Maps Places API which uses a user selected location to create a map display of nearby waste depot locations.

Challenges we ran into

Finding a problem: Finding a meaningful and relevant project idea was very important to us as we wanted our project to have a large impact on the world. Aside from debugging code, this was the most time consuming and difficult part of our project. Being able to communicate with each other and discuss different solutions was an essential aspect towards the success of our project.

Frontend & Backend: Challenges we faced include the connection between our React frontend and our Flask backend. Navigating CORS error was both a tedious and time consuming task that delayed our progress.

Accomplishments that we are proud of

As a team of new hackers, we approached this Hackathon with the goal being to produce a working final product. We specifically chose to tackle a solution that was out of our comfort zone which challenged each team member. Being able to have finished this project with a solution that accomplishes our initial goals is something that each of us are very proud of.

What we learned

Figma: A majority of our team members had never used Figma prior to this project. This provided a great learning opportunity for us to develop our UI/UX skills by prototyping what we wanted our solution to look like before transferring our visions to code.

Full Stack Web Application: Creating a full stack web application is extremely involved and required us to do extended research due to our inexperience. Navigating the many bugs we encountered forced us to properly understand the functionality of our program leading to thorough learning of proper web app practices.

What's next for Bin Buddy

In the future, we plan to expand Bin Buddy outside of Toronto by incorporating recycling databases for cities all around the world.

Built With

  • figma
  • flask
  • openai
  • react.js
  • vite
Share this project:

Updates