Inspiration

A common problem we’ve all faced - splitting bills with friends. Whether it’s after a meal, a trip, or a shared expense, calculating who owes what is always a hassle, and can even lead to bitter arguments. We wanted to creatively develop a solution that was not only efficient, but also fair and transparently accessible for all parties involved.

What it does

TabIt! is an application that streamlines the process of splitting bills. Users can scan their receipts, and the app automatically splits the items it recognizes and assigns the prices it reads. It then allows users to match their friends to each item, effectively splitting the bill based on what each person consumed. This eliminates the need for manual calculations and potential disputes, making bill splitting a breeze.

How we built it

Our project uses a MERN stack where the front-end is developed on React, with a user-friendly interface and a variety of base functionalities like account creation, a friend-adding system, and profile screens. We use MongoDB Atlas for our database, keeping track of receipts, items, prices, friends etc. Furthermore, we use Google Bard's API which does image recognition and helps us with the parsing of receipt data into items.

Challenges we ran into

One of the most difficult parts was the image recognition part of the project, taking in receipts and being able to generate accurate results that could be separated. We found several (free) options like Tesseract.js which would fit our stack, but the accuracy was just lacking. Eventually, we found the Bard AI to be the best for image recognition. Then, working with the API was also difficult as this was all of our first times working with LLM APIs, and integrating them into the project was just difficult as we had to figure out all the documentation complexities.

Accomplishments that we're proud of

This is all of our first times doing a software hackathon and just being able to actually produce some sort of submittable product is something we are proud of. In addition, there was learning about the development process at every step of the way for all of us so this was just hugely educational. Finally, seeing an idea that solves a real-world problem we had been thinking about genuinely come to life is incredibly rewarding and we are very proud of that.

What we learned

One thing we learned a lot about was front-end development as most of us knew the general idea and ways to manipulate it, but actually fully developing pages and features that look appealing was not something we had spent much time on. Furthermore, we learned a lot about how to use LLM APIs and the importance of prompt engineering to get the best results.

What's next for TabIt!

Looking ahead, there is much to improve on! Besides general aesthetic changes that make the site run more naturally/smoother, there are also many features we'd like to implement. Importantly, only Venmo is compatible for requests right now and adding other popular money transfer apps like Zelle and CashApp would be a good next step. Another thing would be to create "groups" of frequently combined groups of friends so that picking the friends who are involved could be even faster.

Built With

Share this project:

Updates