Back to list

Lazy Susan

Photograph the receipt, tap who had what: two open models read it in your browser, and the receipt's own arithmetic decides which read to trust.

VI
Author
@VIBEFIX
Project ShowcaseFinanceOnlineclaude-code
6
0

Project intro

Lazy Susan splits a restaurant bill without typing and without uploading the receipt anywhere: photograph the receipt, and Donut — an open-weight document model running in your browser tab — reads every line straight into name-and-price rows. Pick a person, tap what they had (shared dishes get tapped for everyone who shared them), and tax, service and tip are shared in proportion, exact to the cent, with one button copying the split as a message for the group chat.

The trick is that the receipt checks the model. The lines have to add up to the subtotal, or with tax, service and discounts to the total; if Donut's read does not add up, a second open model, Florence-2, reads the photo again, and the read that adds up wins. Only when exactly one fix makes the sums work does the app apply it — and it tells you, for example that it left out the wine bar's address because it was the only line stopping the sums — and when nothing adds up it says so, shows by how much, and offers the missing amount as a line instead of guessing.

Vibe-coded evidence, in the author's own words on DEV (24 October 2026): "I built this with Claude Code as a pair programmer, and did not save the session to DevRelay, so here is the next best thing: every number in this post can be re-run." The author backs the claim with a re-runnable harness: on 472 WildReceipt test receipts plus 100 CORD test receipts, Donut + Florence-2 + the arithmetic check gets every line right on 33% of American receipts, and on receipts the app marks as adding up, every line is right 93% of the time. GitHub stars: 0 at the 29 October 2026 check (github.com/VanshajPoonia/lazy-susan; MIT; created and last pushed 24 October 2026).

Honest limits: the first photo downloads Donut (219 MB) once and Florence-2 (266 MB) only if a receipt ever needs a second look, so the first run is slow — 8 to 12 seconds for a clean receipt on the author's M4 laptop in Chrome, 21 to 26 seconds with the second look, and slower on a phone (unmeasured). A third of American receipts are still hard — faded thermal paper, angled photos, tiny images — and the browser build is measurably weaker than the Node test harness (23% vs 36% fully right on the same first 50 receipts), a gap the author discloses rather than hides.

Actions

Visit project URL

Tech stack

donutflorence-2transformersjs

Project info

Project category
Finance
Project status
Online
Collaboration intent
None

Comments (0)

ME
0/1000
Loading comments...