Inspiration
The idea first came from Anthony, who works as a secondary lead at one of the dining halls at his school. As part of his efforts to better promote a sustainable environment, he works to make sure appropriate materials such as food trimmings, leftovers, and select containers are sent into the compost bin instead of the trash. Unfortunately, not all communities are supporting this process, so many people are not aware of why composting is so important or how it works. We aimed to change that by providing an informative website that includes a chatbot and landing page for educating viewers on this subject matter.
What it does
EcoCheck is an AI-powered chatbot designed to assist users in identifying biodegradable and non-biodegradable materials through image recognition and conversational support. Through a simple image uploading process, users will be provided with accurate information regarding the classification of the material assisting them in making informed disposal decisions. In addition to image analysis, EcoCheck provides an interactive platform for users to request additional information regarding waste management and recycling techniques for both bio-degradable and non-bio-degradable materials. By providing individualized and real-time assistance, our chatbot paves way for eco-friendly decisions that will be a huge assistant in reducing the damage done to our environment.
How we built it
We built this app primarily with React and Flask. React was used for the frontend components of our desktop application. Flask was for the backend components, and implemented features such as the TensorFlow framework and Llama API. We decided to split into two teams, with Anthony and Selam handling the backend integration and AI model development, and Ryan and Thien handling the frontend development. We tried to get both aspects done as quickly as possible so we could arrange more time to link each part of our application together.
Challenges we ran into
One of the biggest challenges for our team was that we were all relatively new with hackathons, meaning we did not fully know what to expect going into this event. We were also competing online, which posed multiple limitations to our method of communication. We arranged times to check in on our progress on Discord to make sure we were on the same page. If we found out we were going off track, we had discussions to better understand what we each needed to do. Having this plan in mind allowed us to make sure we were able to get the most important features in our product within the time allotted. In addition, we spent a large part of the earlier part of the hackathon researching new technologies to explore, such as setting up React, building and training an AI model, and how to use one of many Llama APIs.
In a technical stance, the dataset we were trying to pull for our project was exceedingly large for our work, containing over 200,000 images used for training and testing data combined. When we tried to use this dataset, multiple issues occurred from changes not being pushed to Git properly to even computers crashing. We needed a way to scale down this dataset, even though it would lead to the consequence of our AI model not being as efficient as it could. We decided to implement a random sampling mechanism so that instead of 200,000 images being processed for our model, we only used 1,000, with 800 images used for training our model, and 200 images for testing the model. When running our training script, we used 10 epochs of training, with the 10th epoch consistently achieving an accuracy of at least 90%.
Accomplishments that we're proud of
We are proud of several key achievements in the development of EcoCheck. It includes successfully implementing a frontend user interface using React and training an AI model that recognizes and classifies uploaded image as bio-degradable and non-bio-degradable.
What we learned
During the development of the concept EcoCheck, we learned the value of integrating nature and technology to create awareness among people and reduce the damage being done on the environment. Brainstorming this idea showed that a multidisciplinary approach - combining AI with nature - would be necessary in creating a platform the seamlessly provide its service. We also recognized in the necessity of user experience in making the space welcoming and accessible. Working as a group, we learned the importance of collaboration and communication to refine our idea from different perspectives and tackle problems we encountered together.
What's next for EcoCheck
Looking forward, we plan to expand EcoCheck by introducing articles and news page that will provide real-time necessary information and news regarding waste management and recycling techniques for both bio-degradable and non-bio-degradable materials. We will continue to refine our AI algorithms to enhance effectiveness and accuracy based on users feedback and data insights. Ultimately, we plan in scaling up EcoCheck so that it could address every nation on earth leading towards an eco-friendly planet.
One major limitation to our current file checking system is that it does not successfully check for malware such as viruses or worms. This can cause major security issues, even destroying the application. We can improve our project by implementing a feature that checks for anything malicious that is uploaded to the website to protect our application. If we are to add a feature for multiple accounts and user authentication, this feature will prove to be more important later on.
Built With
- flask
- hdf5
- llama-api
- machine-learning
- numpy
- pandas
- python
- react
- tensorflow
- typescript
Log in or sign up for Devpost to join the conversation.