Redefining group dining
tldr
type
timeline
tools
update (9/5/25):
React (Vite) + Tailwind CSS frontend and serverless APIs deployed on Vercel. The UI currently uses Tailwind utility classes and shadcn/ui components for a responsive, mobile-friendly flow.
Users can upload or snap a photo of a receipt, which is sent to the OpenAI Vision API and parsed into structured bill data (items, tax, tip).
Check it out! Feedback is welcome.
Group dining is fun… until the bill comes.
I'm a huge foodie. Dining with friends is one of my favorite things to do.
However, as a budget-conscious student, I've noticed that I become hesitant to say yes to a meal out – not because I don't want to go, but because splitting the bill can be frustrating, awkward, or simply unfair.

87%
The current split-uation
After validating the issue, I set out to understand what works–and doesn't–about how people split bills and pay for their food today.
Three main benchmarks stood out:
What's the current approach?
After synthesizing the survey results and interviews, here’s what I found interesting from my research:
These insights lead me to the question:
Back to the drawing board
Users appreciated the precision of itemized splits but needed a more efficient option.
In response to this feedback, I developed the categorized split, a middle ground between flexibility and convenience.
I think best on paper, so back to wireframing I went, consistently asking for feedback as I moved from low-fidelity to high-fidelity prototypes.
A few tweaks from testing
Simplified item assignment process
Revamped the item assignment experience to involve fewer clicks and allow users to see all items and people in one screen.
Improved receipt breakdown
Involve fewer clicks and provided options for Venmo request or payment. Automatically request or text payment links.
Introducing Billed, a better way to split bills
After testing and iterating on the app's flow, I arrived at the following solution.
Scanning the bill
Making your group
Splitting by item
Splitting by category
Bill splitting is a cool challenge
Here's what I learned from working on Billed: