Inspiration

The inspiration for this project came from a recent Spring Break trip, where my 11 friends and I used Splitwise to track and split our expenses—covering everything from groceries and takeout to Airbnb rent. While the tool helped, the process quickly became tedious and cumbersome. This experience sparked the idea to improve and streamline the process, leading us to create a better, more efficient solution.

What it does

Our application allows users to either manually input their expenses or upload a picture of a receipt, which it then automatically processes to extract individual items, including tip and tax. These expenses can be further customized and split based on specific settings. When it's time to settle the bill, users only need to make a single payment to a dummy account. Once all payments are received, the dummy account redistributes the funds back to everyone’s account, ensuring each person’s share is accurately calculated based on the total trip cost.

How we built it

We utilized Tesseract and OpenCV for image recognition and receipt data extraction. For payment processing, we integrated Splitwise, and the entire application was built within a Java-based framework to structure and manage the solution effectively.

Challenges we ran into

Testing Splitwise with test accounts presented some challenges, as did working within the constraints of a Java-based framework.

Accomplishments that we're proud of

Image processing through Tesseract and OpenCV.

What we learned

To plan ahead more, especially with databases.

What's next for Bill Splitter

Finalizing remaining features and enhancing the program's security to protect against vulnerabilities such as SQL injection.

Share this project:

Updates