Inspiration

It's kinda annoying to see someone putting waste into the wrong bin, and that's quite disappointing for Canada, being the most educated country. Although more than half of Canada's working population have either a college or university degree, there is still a 'knowledge gap' when it comes to basic waste literacy. Now, there are many solutions that exist just to educate people about sorting waste. For example, in the Seneca@York campus, there is a system called the "Oscar AI Waste-Sorting System". Shows video at the next slide. Here, you have a camera along with an AI system to identify the type of waste. You can also see a large screen that shows the user where to dispose the waste. This system does meet its main target, however there are major shortcomings: The cameras and the screen in total are very expensive. The system is stationary, making it inaccessible for users seeking help. Because of the cost and the size, it's harder to scale the system to multiple locations. Instead of building costly AI-powered stations for people to go to, why not just bring the AI to the user's fingertips? Here it is, meet Ecoscan AI.

What it does

Just like Oscar AI, you will be using your phone camera to simply point at the waste. Then all you need to do is press “Start Scan”. Once you start to scan, an image gets sent to a sophisticated trained model, where it analyzes the image with great detail, leveraging its large training data. The AI checks for the waste’s material type, its condition, and the type of packaging used. Once the waste gets identified, the AI will give its final verdict to the user, showing an icon and instruction to direct where to dispose the waste. In addition, an “Eco tip’” will show at the bottom, offering insights into sustainable living. Compared with Oscar AI, Ecoscan AI is more accessible and informative. It can be used in phones and computers too!

How we built it

Instead of generating our own AI, we used Gemini 3 pro preview to analyze images sent from the user. From Google AI studio, we shaped our model to be what we wanted it to do by typing prompts. At that point, we already have a functioning model that fills our desired task. But, we also wanted our application to locally run and be widely accessible. To do this, I downloaded the project source code and installed node.js which provides a runtime environment that allows JavaScript to execute outside of a web browser. Node.js powers the backend server, manages API requests to the Gemini model, and runs the development and build processes required for the web application. I also installed Node Package Manager (npm), which was used to automatically install and manage all project dependencies listed in the package.json file. These dependencies contain libraries and development toolkits responsible for rendering the user interface, handling server logic, processing network requests, and integrating the Gemini API. This is needed for the application to run. To secure access to our modified model, I generated an API key and stored it into a .env file, keeping the API key secure. Lastly, I typed npm run dev in the terminal to run the application locally. Afterwards, I installed git and made a repository, then I uploaded the project folder to github so that all the code is stored in the cloud. To run the app on the internet, I used Vercel, so what I did was I imported the project into Vercel and added the Gemini API key so that the cloud server can securely access Gemini. Finally, I deployed the project and received a URL that is public on the internet.

Challenges we ran into

Being a first year engineering student, I basically had no background knowledge of computer software and programming. So, I really had a tough time understanding what things I downloaded. I had trouble uploading the project to Github because it somehow fails to, and I speculated that it was the network. Eventually, I asked a mentor to help me and he found out that there was a typo in the link. Two of my teammates have left me after getting into problems with hosting the project online, and they basically gave up. So I had to finish the main project and do all the project details.

Accomplishments that we're proud of

Even though I have no background in programming, I managed to create something that is complete,working, but also very simple to use. Our app doesn’t just scan and identify waste, it provides valuable advice so that it teaches users how to live sustainably. I’m proud that I made a more effective solution that is cheaper and accessible compared to the Oscar AI system. And I’m very glad that I learned many things along the way and eventually created a full fledged app in solo.

What we learned

As a first year Engineering student, I learned A ton of AI tools and resources during the hackathon and learning how to utilize these tools in an effective and beneficial way. Learn how to upload projects into github. Learn how to host the application in a web server Understand the purpose of an API key and to integrate API What node js is and NPM. The process and ingredients of making an application. I should get a sleeping bag.

What's next for EcoScan Ai

If I had the time to work more on EcoScan Ai, I would try to support multiple languages, especially French. I manage to create a public URL but I could possibly make a mobile app you can download on your phone. I could also add the ability to scan multiple objects or scan barcodes of the waste.

Share this project:

Updates