Mobile Development
Finance

Splitr

React Native app that automates receipt parsing and expense splitting with 92% OCR accuracy using Google Vision API.

Splitr

Inspiration

The day before the hackathon, our team went out to eat and realized how inconvenient it was to split the bill. Everyone had to do math in their heads, figure out who ordered what, and deal with tax and tip calculations. That's when the idea for Splitr was born: a simple tool to take all the stress out of bill splitting forever.

What It Does

Splitr lets you upload or take a picture of a receipt. It uses OCR to extract item names and prices, then you assign items to different people and Splitr automatically calculates what each person owes. It handles tax and tip fairly by splitting them proportionally based on what everyone ordered.

How We Built It

We used React Native with Expo Go for rapid iteration and on-device testing. Firebase Auth handles phone-based sign-in for future history features. The pipeline works like this: Google Vision OCR extracts text from the receipt, MistralAI converts it to structured JSON, our FastAPI Python backend validates and normalizes the data, and then the React Native app renders everything so users can assign items.

Challenges

The biggest challenges were getting good OCR accuracy on messy receipts, parsing inconsistent receipt layouts, and wiring the entire image-to-backend-to-app flow under time pressure during the hackathon. We also had to benchmark different LLMs (Llama3, OpenAI, Mistral) to find the right balance of cost, latency, and JSON reliability.

Accomplishments

We're really proud of building a reliable OCR pipeline and delivering a smooth user flow from image upload all the way to the final bill. We shipped a functional, useful MVP quickly, and it actually works well in real situations.

What We Learned

Integrating OCR with LLMs was a new challenge for all of us. We learned the value of clean UX, especially under pressure. Teamwork and rapid iteration were crucial, and we got better at keeping our codebase navigable even when moving fast. Also, we really need to learn Docker!

What's Next

We want to improve OCR accuracy with better pre-processing and smarter prompts. Adding an editable receipt step would let users quickly fix any misreads. We also plan to add full Firestore history, Venmo and CashApp integrations for easy payments, more advanced splitting options like percentages and shared items, and general UI polish and accessibility improvements.

Project Details

Technologies

React Native
TypeScript
Firebase
Stripe

Additional Previews

Splitr preview 1
Splitr preview 2