Photograph a receipt, extract the amount with OCR, categorize it — genuinely one of the simpler builds on the register once you're using an existing OCR API rather than writing your own.
Build it
Effort: an eveningRunning cost: $0/mo to start
Why CanICodeThis says Build it
Receipt photo upload plus an existing OCR/document-extraction API gets you amount, date, and vendor with reasonable accuracy
Categorizing and reviewing an expense is ordinary CRUD with a status field
A monthly report export as CSV or PDF is routine
The parts that'll cause problems
Multi-level approval workflows (manager approves, then finance) need a small workflow engine, not just a status flag
Corporate card feed reconciliation needs real bank/card-network integration
Mileage tracking with GPS and per-jurisdiction reimbursement rates is a specific, fiddly feature
How I'd build this
frontend
Astro or Next.js
database
Turso (SQLite)
hosting
Cloudflare Pages
MVP scope
Photograph or upload a receipt
OCR extraction of amount, date, vendor via an existing API
Manual category confirmation
Monthly CSV/PDF export
Postpone to v2
Multi-level approval workflow
Corporate card feed reconciliation
Mileage tracking with GPS
What it actually costs to build
AI agent — with a subscription (Claude Pro/Max, Cursor, etc.)
$0 marginal
AI agent — pay-per-use API, no subscription
$16–$27 one-time
Hosting, once it's running
$0/mo (free tier)
Domain name, if you want your own
~$12/yr
Existing tools solving a similar problem typically run $10–$35/mo — see how they compare below.
The build prompt
Build me a personal expense tracker: photograph or upload a receipt, run it through an OCR/document-extraction API to pull amount, date, and vendor, let me confirm and categorize it, and export a monthly report as PDF or CSV. Single user, no approval workflow, no corporate card sync.