Design a personal finance aggregator
PerplexitySoftware Engineer · Technical ScreenLast 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.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.