Hackathon Project

Have you ever gone grocery shopping for a large group of people, bought a large quantity of items, and then tried to allocate items to each person? It’s a tedious process, and often involves a lengthy amount of time figuring out who bought what, and the prices at which they were bought. This is an inefficient process, and can be prone to human error leading to a misallocation of reimbursement funds.

We solve this using our ReceiptScanner applications. Essentially, our application has our user take a picture of a receipt and upload it to our web application. That image is then checked against Microsoft Azure's ML Image Classification database to ensure that the picture is indeed a receipt. If the receipt is found to be anything else, our system returns an error to the user asking them to resubmit a receipt. If the image is determined valid, then we parse the receipt using Google Cloud's computer-vision OCR platform. We break the image down to transactions per row using the OCR-technology, and return that to our Django backend, which stores this information in the database. Once the image has been parsed and stored, we then return the receipt back to the user and allow different users to select which transaction belongs to them. After each person claims the items they purchased from the link, the web application will then return a total amount the buyer needs to be reimbursed by. This value is based on the number and value of items claimed by the user, and this method of transaction history can possibly lead to better spending habits over time.

Overall, we think this is a much more efficient manner of allocating costs per person in a household, and has many practical applications in other fields. The computer vision aspect of this project can be applied towards the medical field in instances where a doctor's handwritten notes about a patient visit needs to be formally documented in a database. Interesting extensions of this project might also include incorporating greater machine learning to train the model to recognize different kinds of receipts, and over time learn to assign recurring purchases to users based on their previous purchasing history.

Team Members

Assad Aijazi, Simmy Bhatia, Makonnen Makonnen, & Branden Kim

Share this project:

Updates