Inspiration
Only 20-30% of material is recycled. As we use up mother earth's resources, we continue to step towards a future with no return. Something needs to be done, something that allows humans as a community to work together one by one to combat the effects of pollutants and greenhouse gases. Something needs to be created that encourages everyone to take care of the materials that were once part of the earth. Something like SnapCycle needs to be created, a web app that takes advantage of the technological generation to focus on one main initiative, the goal to create a better environmental future.
What it does
Say no more to wordy scientific articles. SnapCycle is a web app that allows users to scan items and receive info on recyclability, statistics, how it is disposed of, and more. Whether it may be an easy item to dispose of such as a plastic bottle, or a confusing item such as a mobile device, SnapCycle gives you the ability to scan the item and receive info on how and where to dispose of it, and what its benefits are. Countries can integrate this into a brand-new recycling initiative that takes advantage of the technological generation and bring innovation to the environmental sector.
How we built it
We built SnapCycle using an object detection model to identify the item in the picture taken. This used the yolov7 model, a pre-built model that we trained further using PyTorch to detect items with better accuracy. We used Python to create the algorithm that combined the detection model and image capturing from the webpage. React was used to create the webpage for SnapCycle, and Flask was used for the webpage and the detection model to communicate by receiving the picture, scanning it, and returning the value to correctly navigate to the detected image page.
Challenges we ran into
The first challenge we ran into was training the pre-built file for the detection model. Machine learning was new to all of us, so learning all the concepts such as tensors, learning algorithms, building and labelling datasets, and the number of epochs and batches were all difficult to understand. The second challenge we ran into was the use of API. Again, we had no experience with this and it was a large learning curve. The whole team worked together to understand how the back-end and front-end programming could communicate with each other, and how info could be relayed back and forth.
Accomplishments that we're proud of
The first accomplishment we were proud of was finalizing the detection model with the image capture. Getting the detect file to take input from the webpage proved very hard for us as we encountered a multitude of errors, however, we persevered as a team to make one clean file that takes the image, scans it, and returns a value. The second accomplishment we were proud of was the visual design for the web app. We integrated new packages such as parallax to create different scroll events and layering, and we integrated new features such as an integrated camera.
What we learned
We learned a lot about React, Flask, PyTorch, and the Yolov7 model. Not even one of us had any experience with machine learning before MacHacks so we had a lot of research and learning to do. We learned how to integrate a front-end webpage into a back-end API and transfer data from one to another. We also learned how to use the Yolov7 model for image detection and experimented with training an AI from scratch. In addition, we learned more advanced react techniques such as scrollable containers and layering. Finally, we learned how to efficiently split tasks as a team and learned each other's strengths, which will be critical to future competitions, projects, and more.
What's next for SnapCycle
What’s next for Snap Cycle? We plan to create a reward system for users that encourages them to use the program. An incentive for users allows for an increased impact in saving the world step by step, especially when everybody is involved. Furthermore, we plan to increase the functionality of the program by adding more diverse image detection so that a wider range of waste materials can be properly detected. In addition, we plan to add a location-based service where the information on the bin destination of the scanned waste will differ based on where you are in the world. Lastly, with a bit more implementation, we could see it possible to use the Snap Cycle algorithm in a modern waste management plant where the AI can be used to sort waste into designated streams at high accuracy.


Log in or sign up for Devpost to join the conversation.