PayPal AI Hackathon · Google Gemini + PayPal Orders API

Trip with friends?
Stop doing spreadsheet math.

Snap the receipts, say who had what in normal words, and everyone pays back with one PayPal tap.

AI readsCode countsPayPal pays
Split Bill Buddy reading a receipt with Gemini
0.99Gemini confidence on a real receipt
$82.08split to the exact cent
COMPLETEDreal PayPal sandbox capture
16automated tests passing

How it works

Four steps from a pile of receipts to everyone settled

You only type the trip and your friends' names. Everything else is read, calculated and paid for you.

1

Create a trip

Name it, pick a currency, add your friends.

You
2

Upload a receipt photo

Gemini reads the merchant, items, tax, tip, total and currency.

Google Gemini
3

Say who had what

"Sara didn't have cocktails. Water was only for Ravi." Gemini assigns each item and explains why.

Google Gemini
4

Settle up

Code works out exact shares and the fewest payments. Each friend pays back with PayPal.

Code PayPal

AI that understands people

Plain English in, item-by-item split out

Gemini turns a messy receipt photo into structured data, then reads your sentence and decides who shares each item, with a reason you can check.

  • Reads any receipt photo, not just templates
  • Understands "didn't drink", "only for", "shared by"
  • Shows its reasoning next to every item
  • Foreign receipts are converted to the trip currency
Gemini item assignments with reasons

Code counts the money

The AI never decides an amount

All money math is plain, tested Python in whole cents. Tax and tip are shared in proportion, and the shares always add up exactly to the receipt.

Sunset Cafe   total 82.08
Ali  31.14  +  Ravi  34.38  +  Sara  16.56
= 82.08 ✓   fewest payments: 2
Payments done after PayPal capture

Safe by design

Checks before any money moves

AI can make mistakes, so every answer is checked, and you can always cross-check it yourself.

Blurry photo check

A plain image-sharpness check asks for a clearer photo. If the AI isn't sure, the receipt is rejected, not guessed.

Check & fix

Compare with the photo, correct any item, tax or total, and the code recalculates the shares. It's marked "Checked by you".

Totals must match

Items + tax + tip are compared to the receipt total. Low confidence and unknown names show warnings.

Prompt-injection safe

Text on a receipt is treated as data only. Instructions hidden in it are ignored.

Server-side PayPal

The server checks that the debt exists, creates the PayPal order for the exact amount, and captures it after approval.

Works without keys

Demo mode runs offline with sample receipts, so anyone can try it in a minute.

Screenshots

See it in action

All taken from the real app with Google Gemini and a PayPal sandbox account.

Built with

Simple stack, real integrations

Google Gemini (vision + JSON)PayPal Orders v2 APIPayPal JavaScript SDK PythonFastAPIPydanticPillowhttpxHTML · CSS · JavaScriptpytest

Try it yourself in a minute

Clone the repo and run it. Demo mode needs no keys. Add a Gemini key and PayPal sandbox keys for the real thing.