PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Perplexity AI

Design a personal finance aggregator

Last updated: Mar 29, 2026

Quick Overview

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.

  • hard
  • Perplexity AI
  • System Design
  • Software Engineer

Design a personal finance aggregator

Company: Perplexity AI

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

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.

Quick Answer: 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.

Related Interview Questions

  • Diagnose overloaded Kubernetes cluster - Perplexity AI (hard)
Perplexity AI logo
Perplexity AI
Aug 13, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
12
0

System Design: Personal Finance Aggregation Platform (Mint-like)

Context

Design a consumer-facing platform that aggregates a user's financial data across banks, credit cards, loans, and other institutions. The system ingests balances and transactions, normalizes data, categorizes spending, supports budgeting, and provides alerts. Assume a modern technical screen context and aim for a pragmatic, production-ready design.

Assumptions (minimal):

  • Scale: 1–5M users, each with 2–6 linked accounts; daily ingestion volume in the tens of millions of transactions.
  • Data freshness: near-real-time via webhooks where available; otherwise periodic polling (e.g., hourly to daily).
  • Regions: initially single region with future multi-region readiness.

Requirements

  1. API/ingestion: choose aggregator vs. direct connections; authenticate via OAuth/Open Banking where possible; legacy OFX if needed.
  2. Data processing: normalization and deduplication across sources; consistent signs and timestamps.
  3. Categorization and budgeting: rules/ML categorization; budgets by category with rollovers and sharing.
  4. Alerts/notifications: thresholds, anomalies, upcoming bills; delivery via push/email/in-app.
  5. Reconciliation and idempotency: pending-to-posted transitions, retries, and exactly-once semantics.
  6. Privacy/security: encryption, tokenization, consent, PCI scope minimization.
  7. Scalability/storage: service boundaries, data stores, partitioning, and caching.
  8. Failure/latency handling: third-party API slowness/outages, rate limits, backoff, and graceful degradation.
  9. Data model: consistent schema supporting multi-currency and recurring bills/subscriptions.

Solution

Show

Submit Your Answer

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Perplexity AI•More Software Engineer•Perplexity AI Software Engineer•Perplexity AI System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.