Katkat

Design a personal finance aggregator

PerplexitySoftware Engineer · Technical Screen

Last updated

This question evaluates skills in large-scale system design including API and third-party integrations, data ingestion and normalization, transactional consistency and idempotency, security and privacy controls, data modeling for multi-currency financial records, and operational concerns like alerts and budgeting.

Design a personal finance aggregation platform similar to Mint that connects to banks, credit cards, and loans to ingest transactions and balances. Specify the API/ingestion approach (aggregator vs. direct connections, OAuth/OFX), data normalization and deduplication, categorization and budgeting services, alerting/notifications, reconciliation and idempotency, privacy and security controls (encryption, tokenization, PCI scope), scalability and storage design, failure and latency handling for third-party APIs, and a consistent data model supporting multi-currency and recurring bills.