The problem. Paper receipts are the worst kind of data: genuinely useful, and genuinely tedious to do anything with. The apps that solve this want your bank credentials and a permanent copy of your financial life on their servers. I wanted the automation without the trade.


What it does. Scan a receipt with the iPhone app — or drop a PDF into the web app — and it comes back as a structured record: merchant, date, subtotal, tax, total, currency, and card type. Scan a stack in one session and each page becomes its own transaction. Over time it learns the merchants you actually visit, suggests categories from your own spending history, and builds that into a dashboard: monthly and yearly trends, merchant and category breakdowns, a calendar view, tax summaries, and a daily insight.


Private by architecture, not by policy. Text recognition happens on the phone. The AI is a local model running on my own hardware, not a third-party API. Files are encrypted before they're written to storage and served only through short-lived, signed links — never a public CDN. Card numbers are never stored; there is no database column for one to live in.

Built end to end: SwiftUI iPhone app, Next.js web app, FastAPI backend, queued Python extraction worker, PostgreSQL, all containerised and deployed to a private VPS behind automatic TLS.