-
-
01: Apple Pay food lands in the fridge — filter recent grocery buys by day, week, or month, with visual badges on shared items.
-
Overview: Little Fridge Split lets roommates split grocery bills item-by-item and get paid back via Venmo, PayPal, or Apple Cash.
-
06: Settle up at a glance — track balances across roommates, see settled vs. pending amounts, and send one-tap friendly nudges.
-
05: Roommate payment page — friends see only their items and exact tax share with direct-action Venmo and PayPal buttons.
-
04: One link per friend — request payments directly in Messages, share custom links, or record Apple Cash settlements.
-
03: Who had what? — tap roommates on each grocery item with penny-perfect cent division and proportional tax calculations.
-
02: Pick what you're sharing — tap Split Bill on any fridge pile and select items easily with iOS Photos-style checkmarks.
-
Interactive iMessage request card — sends clean split details right into Messages with native Cash, Venmo, and PayPal options.
Little Fridge Split
Turn grocery receipts into "you owe me" links that actually get paid.
Pick what you're sharing, tap who had what, and each roommate gets a private link with only their items and a direct Venmo or PayPal button, or an interactive Apple Cash request right in Messages. Money goes straight to you — Little Fridge never holds funds.
Built for the PayPal AI Hackathon 2026.
Inspiration
Sharing groceries with roommates or partners is easy until it is time to divide the receipt. Roommates share staples like milk or olive oil, buy personal snacks, and inevitably lose track of who paid for what.
- A flat split is unfair: The roommate who only drank coffee shouldn't pay for someone else's organic salmon.
- Manual calculation is tedious: Adding up item prices, computing tax percentages, and collecting payments across multiple apps causes friction.
- Awkward reminders: Nobody likes chasing friends down for $3.61.
Little Fridge Split connects a visual grocery inventory with automated, item-level settlement. An organizer selects recent purchases, assigns who shared each item, and generates private, frictionless payment links for each person.
The Grocery Split Flow: from receipt to settled up
These captures demonstrate the complete flow from an Apple Pay grocery purchase to settled roommate payments.
| 1. Apple Pay food lands in the fridge | 2. Pick what you're sharing |
|---|---|
![]() Filter recent grocery purchases by day, week, or month, with visual badges on shared items. |
![]() Tap Split Bill on any fridge pile and select items easily with iOS Photos-style checkmarks. |
| 3. Who had what? Exact cent split | 4. One link per friend |
![]() Tap roommates on each item with penny-perfect cent division and proportional tax calculations. |
![]() Request payments directly in Messages, share private web links, or track Apple Cash. |
| 5. They pay with Venmo or PayPal | 6. Settle up at a glance |
![]() Friends see only their items and tax share with direct-action Venmo and PayPal checkout buttons. |
![]() Track balances across roommates, see settled vs. pending amounts, and send one-tap nudges. |
| Area | Implementation Details |
|---|---|
| iOS App | Native SwiftUI with drag-and-drop interactions, Photos-style pile selection, and native iMessage integration. |
| Split Math | Integer-cent arithmetic using Hamilton largest-remainder rounding; sales tax and fees allocated proportionally. |
| PayPal Orders v2 | Server-side order creation (/v2/checkout/orders), capture verification, and idempotent settlement tracking. |
| Venmo Payouts | Supported through PayPal JS SDK (enable-funding=venmo) plus a direct venmo://paycharge native fallback link. |
| Apple Cash | Native iMessage request with generated receipt card; settlement marked directly on the device ledger. |
| On-Device AI | Google EmbeddingGemma 2 via LiteRT-LM runtime on iOS for zero-cloud multimodal food classification. |
What it does
- Find purchases in Little Fridge: Apple Pay grocery taps land directly into the visual fridge inventory with store name, date, item prices, and expiration timers. Filter by Day, Week, or Month with simple swipe navigation.
- Select items to share: Open any fridge food pile, tap Split bill, and check off items just like selecting photos in iOS. Single-item splits skip directly to participant selection for speed.
- Assign participants with penny-perfect math: Tap roommates on each item (e.g. Strawberries shared 3 ways = $3.61 each). Shares are calculated in integer cents using largest-remainder rounding so the sum of individual shares always matches the total receipt down to the last penny, with proportional tax distribution.
- Send private payment links: Every friend gets a dedicated, secure payment link showing only their items. Tapping Request in Messages opens a native text conversation with the amount, payment link, and an interactive Little Fridge receipt card.
- Frictionless roommate payment: Friends open the link on any mobile browser. They see their itemized list, tax share, and 1-tap Venmo and PayPal checkout buttons powered by the PayPal JavaScript SDK and Orders v2 Sandbox. When viewed on mobile where the SDK may not show Venmo, a native
venmo://paychargefallback button opens the Venmo app pre-filled. - Settle up ledger: The organizer tracks who owes, who paid, and total balances at a glance. PayPal captures update status automatically; cash or external payments are marked manually. Tapping the bell icon drafts a gentle, consolidated reminder grouping all outstanding splits for that person.
PayPal and AI Integration
PayPal Orders v2 & Venmo
- Server-Side Order Creation: The Node.js backend calculates the exact share in integer cents and creates PayPal orders via
POST /v2/checkout/orderswith custom tracking IDs (custom_id: "splitId:shareId"). - Secure Order Capture: The capture endpoint (
POST /v2/checkout/orders/{order_id}/capture) verifies that the captured currency, amount, and custom metadata match the database share before marking it paid. Replayed captures cannot trigger duplicate settlements. - Webhook Signature Verification: Verifies incoming PayPal event signatures (
PAYMENT.CAPTURE.COMPLETED) using PayPal certificate validation. - Venmo In-App Fallback: Generates targeted
venmo://paychargedeep-links for instant native app payment when the browser SDK environment restricts third-party wallet frames.
On-Device Multimodal AI
- LiteRT-LM & EmbeddingGemma 2: The Little Fridge iOS client integrates Google's EmbeddingGemma 2 model running locally on-device through the LiteRT-LM runtime. It performs instant zero-cloud visual grocery recognition from photos, matching captured items against standard pantry taxonomies while keeping private grocery habits on-device.
How we built it
- iOS Client: Native SwiftUI with fluid animations, Photos-style multi-selection, and Messages integration.
- Backend Server: Modern Node.js 22 service (zero external production dependencies) handling tokenized share generation, integer-cent largest remainder calculations, and PayPal sandbox APIs.
- Recipient Web View: Clean, mobile-first responsive web client loading the PayPal JavaScript SDK, tailored specifically for mobile Safari and Chrome.
- Data Model & Integrity: Cryptographic share tokens, exact cent arithmetic, and idempotent payment state transitions.
What we learned
- Integer Cent Arithmetic is Mandatory: Floating-point math produces rounding errors across multiple splitters. The Hamilton largest-remainder algorithm guarantees that individual shares always sum to the receipt total.
- Mobile Payment UX: Providing both PayPal checkout and a direct Venmo deep-link fallback ensures 100% conversion regardless of whether the friend has saved cards or prefers the standalone Venmo app.
- Privacy First: Roommates only want to see what they purchased, not the organizer's entire receipt or personal purchases.
Try it
- GitHub Repository: https://github.com/JiawenZhu/little-fridge-split
- Demo Video (1080p): https://www.youtube.com/watch?v=8jqR9WrsNBE
- Local Sandbox Demo: Run
npm startin the repo and visithttp://localhost:3000/s/demo-samto test the recipient checkout flow.
Built With
- embeddinggemma-2
- javascript
- litert-lm
- node.js
- paypal
- swiftui
- venmo





