jiviteshjain/split

TypeScript

0

21 commits

updated May 17, 2026

See the code

README

Split

A browser-only bill-splitting app. Upload a receipt photo or PDF, edit any items the model misreads, then split the bill among friends.

Everything runs locally on your device via WebGPU — no server, no API keys, no data leaves your browser.

How it works

  1. Upload a receipt photo (paper or digital screenshot/PDF, including DoorDash-style receipts with discounts).
  2. Process: a vision-language model (Qwen2.5-VL 3B, or SmolVLM 500M as a fallback on low-memory devices) extracts line items, tax, tip, and fees. ~6–25 s depending on device; the model file (~1.5 GB) is cached after first download.
  3. Edit: fix anything the model got wrong. Add or delete items. The app cross-checks the arithmetic and offers to fix the total.
  4. Assign: pick 2–6 people, tap people-chips to assign each item. Tap multiple to share. For multi-quantity items you can split units across people. Set a shared ratio (default 50/50) for the two-person case.
  5. See the split: per-person breakdown with tax/tip/fees split equally or proportionally.

Requirements

  • A browser with WebGPU: Chrome/Edge (desktop), Safari on macOS 15+, Safari on iOS 18.2+.
  • For the full Qwen2.5-VL model: enough GPU memory for a ~1.5 GB binding (most modern Macs, iPhone 15 Pro / iPhone 16 and newer). On other devices the app falls back to SmolVLM 500M automatically.

Dev

npm install
npm run dev

Build / deploy

A GitHub Actions workflow builds for GitHub Pages with the correct base path on push to main. Manually:

VITE_BASE=/your-repo/ npm run build

Privacy

Nothing is uploaded anywhere. The receipt image, the model, and all processing stay in your browser tab.

Contributors

jiviteshjain

21 commits

jiviteshjain/split

TypeScript

0

21 commits

updated May 17, 2026

See the code

README

Split

A browser-only bill-splitting app. Upload a receipt photo or PDF, edit any items the model misreads, then split the bill among friends.

Everything runs locally on your device via WebGPU — no server, no API keys, no data leaves your browser.

How it works

  1. Upload a receipt photo (paper or digital screenshot/PDF, including DoorDash-style receipts with discounts).
  2. Process: a vision-language model (Qwen2.5-VL 3B, or SmolVLM 500M as a fallback on low-memory devices) extracts line items, tax, tip, and fees. ~6–25 s depending on device; the model file (~1.5 GB) is cached after first download.
  3. Edit: fix anything the model got wrong. Add or delete items. The app cross-checks the arithmetic and offers to fix the total.
  4. Assign: pick 2–6 people, tap people-chips to assign each item. Tap multiple to share. For multi-quantity items you can split units across people. Set a shared ratio (default 50/50) for the two-person case.
  5. See the split: per-person breakdown with tax/tip/fees split equally or proportionally.

Requirements

  • A browser with WebGPU: Chrome/Edge (desktop), Safari on macOS 15+, Safari on iOS 18.2+.
  • For the full Qwen2.5-VL model: enough GPU memory for a ~1.5 GB binding (most modern Macs, iPhone 15 Pro / iPhone 16 and newer). On other devices the app falls back to SmolVLM 500M automatically.

Dev

npm install
npm run dev

Build / deploy

A GitHub Actions workflow builds for GitHub Pages with the correct base path on push to main. Manually:

VITE_BASE=/your-repo/ npm run build

Privacy

Nothing is uploaded anywhere. The receipt image, the model, and all processing stay in your browser tab.

Contributors

jiviteshjain

21 commits

Languages

TypeScript

94.7%

CSS

5.1%