
Ingests a credit-card statement PDF, extracts and normalizes every line item, classifies spending, computes analytics, generates AI insights, and publishes a shareable Monthly Wrapped report to Notion. Two-runtime system: a TypeScript Next.js app that owns classification, storage, analytics, and the dashboard, and a Python FastAPI service that turning messy PDF bytes into clean, validated transaction JSON over localhost HTTP.
Privacy is structural rather than bolted on: the raw statement lives only as in-memory bytes for the lifetime of a single request and is never written to disk, account numbers are never extracted, and only normalized spending is persisted.
