Design a Financial Data Aggregation Service
Last updated: October 30, 2025
Quick Overview
Design a service that aggregates financial data from multiple sources (banks, credit cards, payroll providers, investment accounts) to provide a unified financial view for users across Intuit products.
Intuit
October 30, 202512
4
4,430 solved
Design a service that aggregates financial data from multiple sources (banks, credit cards, payroll providers, investment accounts) to provide a unified financial view for users across Intuit products.
Touches multiple Intuit products (Mint successor, QuickBooks, TurboTax). Tests understanding of third-party integrations, data normalization, and real-time financial data handling.
What the Interviewer Expects
- Design integrations with thousands of financial institutions via APIs and screen scraping fallbacks
- Normalize transaction data across different bank formats into a unified schema
- Handle connection failures, credential rotation, and institution-specific quirks gracefully
- Implement real-time and batch synchronization strategies
- Address security requirements for storing financial credentials and data
Key Topics to Cover
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
- How do you handle a bank that changes their API format without notice?
- What is your reconnection strategy when a user's bank credentials expire?
- How would you detect and handle duplicate transactions across linked accounts?
- How do you categorize transactions accurately across different merchant naming conventions?
Sharpen Your Skills on Codemia
Practice similar problems with our interactive workspace, get AI feedback, and track your progress.
Practice System Design ProblemsSample Answer
Requirements
- Functional Requirements:
- Integrate with thousands of financial institutions using APIs and fallback screen scraping.
- Normalize transaction data from various banks into a unified sc...
Capacity Estimation
-
User Base:
Assume 10 million users across Intuit products. Each user connects to an average of 5 financial accounts. -
Transaction Volume:
If each account generates 10 transaction...