Work / Aakalan / Wiki / Surfaces
add-receipt
Surfacecanonicalverified 2026-09-23
SURFACE.MOBILE.ADD.RECEIPTSummary
The add screen with a bill photographed and attached.
Raw wireframe
- .context/designs/mobile/add/receipt.html
Why it is drawn this way
Nothing is uploaded from here. The expense is saved first and the photo queues behind it, because offline is the normal case and an expense that cannot be recorded in a basement restaurant is worse than one without a picture. See local-first-ledger.
Resized to a 1600px long edge and re-encoded as JPEG before it leaves the device. A bill is legible at that size; a 12MP original is six megabytes of somebody's data plan for no gain. The screen states the size rather than implying the original went up.
Nothing is READ out of the image. No OCR, no amount guessed, no category inferred. An app that quietly fills in ₹6,200 from a blurry total will one day fill in ₹62,000.
One photo per expense. Replacing overwrites the same path rather than orphaning the old image.
The camera button is Pro; the row is not hidden on free. See add and pro-never-gates-the-core-loop.
Related
Sources
- src/app/(tabs)/add.tsx
- src/services/receipts.ts
- src/services/receipt-queue.ts
Every project of mine is written down like this.
Read the résumé