Inspiration

Splitting a bill is the worst part of a great night out — or a grocery run, or a group trip. Picture 5 friends, 1 receipt, and a $30 difference between the person who ordered a salad and the one who had steak and three cocktails. Split it evenly and half the table quietly overpays; try to do it fairly and you're stuck doing tax-and-tip math in a group chat. Someone fronts the whole bill, everyone says "just Venmo me," and a week later half of them never paid back. We built Tabby so that every shared bill — across any number of people — gets split fairly, to the cent, in seconds instead of an awkward 10 minutes.

What it does

Snap a photo of any receipt and Tabby's AI itemizes every line — items, prices, tax, and tip — with no typing. Share one link; friends join in 1 tap with just a name (no signup, no app, 0 downloads). Each person taps what they actually ordered, syncing live across every phone in real time. Tabby then splits tax and tip proportionally — fair to the cent, with 0 rounding errors — and sends everyone straight to Venmo or Cash App. What used to take a calculator, a group chat, and 10 awkward minutes now takes seconds. Optional sign-in saves your bill history across devices.

How we built it

Tabby runs entirely on a "zero stack": 1 Next.js 16 app on Vercel for both frontend and serverless backend, with AWS for data only — no servers to manage, no EC2, no networking. We use a single DynamoDB table for sessions, members, items, claims, and settlements, plus S3 for receipt images. Vercel authenticates to AWS via OIDC federation — short-lived, keyless credentials with a least-privilege IAM role, so 0 static AWS keys exist anywhere in the system. Receipt OCR is powered by Google Gemini through OpenRouter, itemizing a full receipt for a fraction of a cent. All infrastructure is provisioned with Terraform — the entire cloud footprint is just 9 resources.

Challenges we ran into

Getting the Vercel-to-AWS OIDC trust policy exactly right — matching the issuer, audience, and subject claims — so the app could assume its role with zero stored credentials. Designing a single-table schema that supports atomic, conflict-free item claims across multiple devices in real time.

Accomplishments that we're proud of

A genuinely keyless, least-privilege cloud architecture with 0 stored secrets; cent-exact fair splitting of tax and tip; and a frictionless anonymous-first flow where friends join with just a name. All on an infrastructure that costs near-$0 at rest. And a clean, cohesive design system end to end.

What we learned

That the strongest technical story isn't service breadth — it's a deliberate, minimal architecture: Vercel for compute, AWS for data, OIDC for trust, and nothing unnecessary in between.

What's next for Tabby

Saved-group templates for recurring splits (roommates, regular crews), more payment integrations, and smart receipt categorization.

Built With

Share this project:

Updates