Inspiration

While thinking about the overall theme of MadHacks 2019, one concern that came to mind was that of food sustainability. After doing some research, we found out that approximately one-third of all the food in the world goes to waste and we were inspired to try and combat this problem.

What it does

You will be able to scan your receipts with your phone's camera and our app will read your receipt and find identify what you have bought by machine learning tools. After that, it will list all your groceries as well as give you the general expiration date for that item.

How we built it

We used Android Studio for the frontend and Flask/Python for the backend. We used machine learning techniques such as optical character recognition that allowed us to read and recognize the text on the receipts.

Challenges we ran into

In general, none of us were familiar with the technology we worked with for this project, specifically Android Studio and Microsoft Azure.

One challenge we ran into in on the frontend was that we originally wanted to write this app in Javascript using React Native with Expo so that this app could be projected onto both iOS and Android devices. However, we had issues with accessing the camera using React Native and since Expo was not running reliably, we decided to use Java and Android Studios.

Another challenge we faced was how to host a Python script on the web. Since Python cannot be directly executed on the phone, we needed another platform to run it.

Accomplishments that we're proud of

We successfully created a Python web server with Flask and were able to connect the backend code to the frontend successfully.

As a whole, this was everyone in our group's first time creating an Android application, so it was a great accomplishment for all of us!

What we learned

How to use and create web protocols, how to use different aspects of the Android framework, Python basics and package control, how to manage Gradle dependencies, and general MVC app architecture.

What's next for XBuyer

There were many features that we didn't have time to implement during this hackathon, such as a receipt history list, allowing the user to control what foods were displayed on their homepage or implementing a calendar for a more visual representation of the expiration dates.

Share this project:

Updates