Design a Personal Finance / Expense Categorization System

Problem

Design a system that ingests bank/card transactions and auto-categorizes them for budgeting.

Requirements

Functional:

  • Import transactions from many institutions
  • Auto-categorize (groceries, travel, etc.)
  • Let users correct categories (feedback loop)
  • Monthly summaries and insights

Non-functional:

  • 10s of millions of users
  • Accurate, improving categorization
  • Privacy and security of financial data

Discussion points

  1. Ingestion/normalization across institutions
  2. Categorization: rules + ML, feedback loop
  3. Idempotent transaction dedup
  4. Storage and aggregation for reports
  5. Security/PII handling and compliance
added …
LeaderboardSalaryAccount