My friends always go out to eat together, but since they have just about three dollars in their bank account (combined), I end up paying and having to request money on Venmo. However, it's always a pain to try to figure out how much each of them owe me. After enough repetitions of this, we decided that making an app to automatically calculate how much of each person should pay would be a great solution.

What it does

Our app splits a bill proportionally based on how much each person ordered, including if they shared an item. It takes into account tax and tip.

In the app, users can take a picture of their receipt. Next, they can easily specify who ordered what item by placing color coded boxes over the prices listed in the picture they just took. Our software uses optical character recognition to read the specified prices and store them for calculations. After the users put in the tax and tip, the app outputs the amount owed by each person.

By going through our intuitive app, users can avoid having to do frustrating calculations after enjoying a good meal with friends.

How we built it

We spent Friday night and all of Saturday planning, coding, and googling any issues we encountered. As beginners to developing mobile applications, we definitely took quite a bit of time getting used to the development environment and understanding how the system should be laid out. But soon we got the hang of it and even had time to add some of the additional features we had planned.

Challenges we ran into

We were not very familiar with coding in Android Studio, so a lot of our time was spent researching how to use the provided methods to accomplish what we desired. We also ran into some problems trying to build our app at first, especially when integrating Tesseract OCR as a library. We eventually solved these problems by painstakingly narrowing down the source of the problem and learning/researching how to troubleshoot them.

Accomplishments that we're proud of

We are very proud of making a mobile app for the first time and actually having a finished product in our first hackathon.

What we learned

Throughout this whole process, we learned lot more about the app development cycle and how Android Studio works in general. Specifically, we learned how to integrate the front end and back end. We also now understand that a lot can be done in a short timespan if one has the right mindset and puts in the effort.

What's next for ReceiptSplitter

We’re proud of what we were able to do in these 36 hours, but we would still like to improve and add onto our project. We hope to use machine learning algorithms to automatically detect where the prices are on the receipt. This would make our app even simpler to use. There is also room for improvement in our User Interface design, and we want to make it more intuitive. Eventually, we could have our app automatically charge people via Venmo, making it even more useful.

Share this project: