Inspiration

The idea for SplitLah was born out of frustration with Splitwise’s daily transaction limit, which made the app less useful. Additionally, when splitting bills after outings, it was tedious to calculate how much each person owed manually. As tech-savvy individuals who love creating solutions, we decided to build SplitLah. This app automatically detects food items and their prices, assigns items to group members, and calculates GST and service charges directly from a receipt photo.

What It Does

SplitLah is simple and intuitive. Just add group members, snap a photo of the receipt, assign items to each person, and let SplitLah handle the rest.

How We Built It

We developed the frontend using React Native and Expo Go. For the backend, we leveraged Google Cloud Vision to extract text from photos and used SpaCy, an NLP library, to accurately identify and format receipt items. Our backend is hosted on Render.

Challenges We Faced

One significant challenge was training our model to detect food items and prices accurately, given that receipts have no standardized format. Through trial and error, we refined our process by adding more regex patterns. While our final product isn’t perfect, it’s a significant improvement over the initial version.

Connecting the frontend and backend was another hurdle. Snapping a photo required our phones, but our backend initially ran on localhost on our laptops, which meant we needed to host it externally. We chose Render for its user-friendliness, but it was still a learning curve. This was our first time using Python, a necessity due to SpaCy. Transitioning from JavaScript/TypeScript to Python and Flask, we encountered challenges with requirements.txt. After hours of troubleshooting, successfully deploying our backend was a huge relief—a real “FINALLY!” moment.

Accomplishments We’re Proud Of

• Learning Python from scratch
• Successfully hosting our backend
• Gaining a foundational understanding of NLP
• Working with new APIs
• Designing a user-friendly UI despite the hackathon’s tight timeframe

What We Learned

• Don’t be stubborn—leverage AI for code generation to save time.
• Always consult the documentation!

What’s Next for SplitLah

• Improve accuracy of detection of items on receipt
• User account creation & storage of past transactions
• Multi-currency support
• Adding other tax (e.g. tips, rush hour tax for other countries)
• Provide more flexibility in splitting bills (e.g., split by percentage, custom amounts) to accommodate different sharing preferences.
• Better UI/UX and app navigation

Built With

Share this project:

Updates