Skip to content
Ritesh FirodiyaGet in touch

Work / Aakalan / Wiki / Surfaces

add-receipt

Surfacecanonicalverified 2026-09-23

SURFACE.MOBILE.ADD.RECEIPT

Summary

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é