It's Time to Tip the Scale

Imagine this: You and a group of 6-7 friends walk into a restaurant to enjoy an afternoon of pleasant conversation and good food. However, when you've all finished eating and the waiter brings you the bill, you all stare at it hopelessly. One person wants to treat another, a second doesn't have enough cash on hand, and maybe a third person shared someone else's dish. It's a mess. You all think to yourselves, "Wouldn't it be great if we could make this easier somehow?

It was this question that piqued our interest. "How can we make splitting the bill easier?"

Here's A Tip

"Tip Of the Day" is an innovative website application that calculates tips and sales tax for dining occasions with big groups. The website application uses Google Vision's optical character recognition (OCR) to scan a receipt and calculate an individual's tax, tip, and total cost. The app splits the cost up based on what each person ordered to calculate their subtotal for the bill.

How "Tip of the Day" Was Built

We were assigned roles when building this app. Justin worked on the Google vision, scanning and cleaning the receipt, initiating arrays, and assigning element variables. Xiao Qing worked out the basics of the algorithm for the calculator. Emily helped out on both ends all while working to connect the front end and the back end together. We started simultaneously, and the basic algorithm (first draft written in Java) was quickly finished and waiting on the user input from the OCR, but ran into problems when being transcribed into Javascript. Luckily, we changed most code into Python, (a decision made at exactly 12:12 A.M.), after which the app finally worked. There were still some character recognition issues, but we made it!

Staying on the Tip of Our Toes

One of the main things we as a team struggled with was transcribing Java into Javascript, which was important in order for our app to work in HTML and web. We had the algorithm coded in Java, and because all three of us weren't familiar with Javascript at all, we struggled. It was extremely painful looking at the errors every time we put together each piece of code. Another thing we had trouble with was communicating with the front end website and the back end python code. Our two teammates, Emily and Justin, spent most of the hackathon trying to figure out how to get the input from the scanner to the code. Also, "JAVASCRIPT!!" -Xiao Qing

To the Tipping Point

We all learned a lot from this project. Before starting, most of us only knew a few coding languages. Moreover, no one but our team captain, Emily, had ever created an applet or a website. Seeing each piece of code come together to form something that really works is simply incredible.

Tips and Tricks We Learned

All three of us agreed that this hackathon was challenging and educational, and that we are walking out of the door with new skillset we learnt during these 24 hours of coding. It was Xiao Qing and Justin's first hackathon and both of them agreed that not only was working on this project fun, they learnt a lot too. Xiao Qing is very happy she can now print something in Javascript on the website, and Justin now knows the language which has evaded him all this time: Python.

This Is Just The Tip of the Iceberg

We would like to turn "Tip of the Day" into a mobile app so users can directly scan their receipts and divide their bills. Of course, the three of us can't do it alone. We are looking for guidance on how to put forward our great idea so that people can use our app for any restaurant gatherings.

Built With

Share this project: