The first sign-in is done by tapping the user's HackGT NFC card.
Precycle's home page, complete with a leaderboard to show high scores. This screenshot highlights the leveling and exp systems.
The home page also contains a "personal stats" breakdown by type of item.
Main menu items.
Prompt to scan the NFC tag.
A correctly classified item after being processed by the server.
The hardware kiosk, complete with a mockup of four different bins.
The internals of the hardware kiosk.
An example of the categorizing features of the chatbot.
An example of the bug reporting system built into the chatbot.
Each year, Americans generate nearly 150 million tons of recyclable waste - and yet less than half of it is correctly recycled. Today, it is imperative that we take every effort to reverse the effects of pollution and global warming in order to build the future that we want.
Precycle is a step towards that future. By arming consumers with on-the-fly information to combat recycling-uncertainty and using social incentives to motivate recycling at home, in stores, and outside, we aim to improve the recycling situation across the board and bring humanity, in the US and abroad, closer towards carbon neutrality.
What it does
Precycle has two components working in tandem: a low-cost IOT-enabled recycling information kiosk and a points-based gamification system designed to bring out a social motivation behind recycling.
The kiosk is a simple internet-connected device located at disposal stations. Users can tap their phones against an NFC tag to open the app, which will then prompt them to take a picture of an item to dispose. Using AI-powered computer vision, the app will then be able to classify the item as belonging to one of several recycling categories, including plastic, aluminum, and compost, and notify the user through an LED system attached to the kiosk.
Recycling or composting items will give the user additional points, which they can use to level up in-app. Users can share their levels and stats on social media. In addition, a leaderboard tracks who has made the biggest impact on the worldwide climate.
How we built it
The main Android application is written in Java. It combines seamless networking technology from Square with handcrafted custom views and animations to present a smooth, compelling UI/UX with a consistent app-wide theme.
The app communicates with an python-based server running on the Azure platform. It takes advantage of containerized deployment to allow for a reliable development configuration. In addition, it uses Google's cloud-based transfer learning service to train an efficient, accurate deep neural network for machine vision image classification.
The kiosk uses a Raspberry Pi running Linux as well as a passive NFC tag. A program on the kiosk, written in Python, polls the server for data about which indicator light to display.
Challenges we ran into
Getting the Raspberry Pi to properly connect to the school's WiFi was difficult, to say the least, and required quite a bit of finagling to get right. To start, the Pi did not have a static IP address and did not self-assign mDNS addresses - so we weren't able to connect to it through a standard Ethernet interface. Instead, we had to connect it to an external monitor. With enough pleading, we were able to convince the event organizers to let us use the projector for just a few minutes. Sadly, we also did not have access to an external keyboard - only a mouse.
This begins a long chain of shenanigans that I can only really qualify as one of the most beautifully horrifying hacks I have ever had the privilege to be a part of. We used the mouse to copy individual characters from the system UI and paste them into the terminal one by one to slowly build up a command to display the Pi's MAC address. This allowed us to use the school network to register the device, allowing it to connect to the WiFi. We could then display its IP address and SSH into the device directly, from where we were able to properly operate the system. In conclusion, reverse SSH tunnels are a life saver, and sometimes the best course of action is just to turn it off and on again.
Accomplishments that we're proud of
We are incredibly proud that we managed to create a working, somewhat polished concept. Although it certainly has room for additional features and improvements, we were able to integrate platforms from many disparate areas - web, mobile, internet of things, machine learning, and social - into a cohesive, well-defined product.
What we learned
This project proved that even relatively simple hardware can tie together a project into a more complete and satisfying user experience.
We also learned firsthand about the value of social incentives: the ability for users to compare amongst themselves can promote friendly competition and increase the potential as a whole for the project to fulfill its mission.
What's next for Precycle
In the future, we hope to partner with commercial and environmental organizations to further promote our mission. We are also looking to improve the functionality of our core product by using larger training datasets to generate even more accurate models with the ability to scan several items within a single frame and tell the user where to put each one. We would also be interested in the expansion of our gamification experience to include more detailed statistics and achievements - and we would love to broaden our targeted user base by including iOS users in our target demographic.