Growing up in suburbia, it was common to see perfectly good furniture on the curbside ready to be taken to the landfill. Coming to college in Atlanta has exposed us to the income inequality that exists in society. TrashCache is our solution to this problem. By using NCR's Catalog API and Microsoft Azure's Computer Vision API, TrashCache streamlines the donation process by connecting charitable organizations with donors, leading to more items being donated instead of thrown away.
What it does
Users first post a picture of the item they would like to donate, a picture of the tag/label on the item, and a rating of the item's condition. This data is sent to the back end, which first uses Microsoft Azure's Cloud Vision API to identify a product from an image of its label, and then leverages NCR's Catalog API to estimate its resale value. Our partners can then decide whether or not to pick up the item and we will notify the user accordingly. If the item is collected, we will generate a receipt for the customer to use for tax deduction purposes.
How we built it
We began by prototyping the business-facing web app and utilized the framework Vue.js. We chose to use this framework because it's easy to use and provides modular architecture, allowing us to iterate and make changes quickly. We generated items with prices similar to data objects that would normally be imported from the app, and uploaded them using the NCR Catalog API. In order to calculate a resale value estimate for each item, we request this to get the item price for a specific item ID. For the item recognition, we used Microsoft Azure's Computer Vision API with the TagOCR PowerApp. We used Figma to design UI wireframes for the mobile app.
Challenges we ran into
Initially, we wanted to implement the app as the main product but quickly ran into issues integrating Firebase and Flutter. We eventually decided that demonstrating the business side of the application would be a better option, as it showcases our use of NCR's API better.
Accomplishments that we're proud of
Even though we ran into many issues, we didn't quit. A lot of teams were dropping out towards the end which only motivated us to work harder. Our team had very limited experience working with complex APIs, but we saw this as a learning opportunity rather than a challenge.
What we learned
We Also, coffee is an essential tool for programmers.
What's next for TrashCache
An opportunity to explore is expanding our service to target nonperishable items.