PracHub
QuestionsPremiumLearningGuidesInterview PrepNEWCoaches
|Home/System Design/Chime

Design mobile check deposit system

Last updated: May 15, 2026

Quick Overview

This question evaluates a candidate's ability to design end-to-end, production-grade mobile check deposit systems, assessing competencies in system architecture, distributed systems, security and fraud prevention, regulatory compliance (Reg CC, Check 21), data durability, and operational observability.

  • hard
  • Chime
  • System Design
  • Software Engineer

Design mobile check deposit system

Company: Chime

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a mobile check deposit system for a consumer banking app. Specify functional requirements (capture front/back images, amount entry/validation, duplicate/limit checks, deposit status lifecycle, user notifications), non-functional requirements (availability, latency, durability, consistency, observability), and risk/compliance (fraud prevention, holds/funds availability, Reg CC/Check 21 considerations in the U.S., audit trails, PII protection). Propose an end-to-end architecture: on-device capture and guidance, image preprocessing (dewarp, glare/blur detection), MICR/OCR pipeline, endorsement verification, limits and risk scoring, duplicate detection across users/devices, idempotent submission API, asynchronous processing and reconciliation, core banking integration, ledgering, and error handling with retries and dead-letter queues. Discuss data models, APIs, storage choices, scaling, rate limiting, device fingerprinting, security (encryption in transit/at rest, access controls, key management), monitoring/alerting, and testing strategies (sandbox, golden datasets, canary releases).

Quick Answer: This question evaluates a candidate's ability to design end-to-end, production-grade mobile check deposit systems, assessing competencies in system architecture, distributed systems, security and fraud prevention, regulatory compliance (Reg CC, Check 21), data durability, and operational observability.

Related Interview Questions

  • Design load balancing, caching, and idempotent APIs - Chime (easy)
  • Design multi-tab browser history and trade-offs - Chime (medium)
Chime logo
Chime
Jul 27, 2025, 12:00 AM
Software Engineer
Onsite
System Design
43
0

System Design: Mobile Check Deposit for a Consumer Banking App

Context

Design a production-grade Remote Deposit Capture (RDC) feature that allows retail customers to deposit paper checks using a mobile app in the U.S. banking context. The system must be secure, compliant with U.S. regulations (Reg CC, Check 21), resilient, and scalable.

Requirements

Functional Requirements

  1. Capture and guidance
    • On-device capture of front and back images with guidance overlays.
    • Auto-capture when alignment, focus, and lighting thresholds are met.
    • On-device prechecks: glare/blur detection, edge and MICR line presence, endorsement presence on back.
  2. Amount entry and validation
    • User enters amount; server validates via OCR (CAR/LAR) and MICR context; handle mismatches.
  3. Duplicate and limit checks
    • Detect duplicates within institution and across users/devices; integrate with external duplicate networks if available.
    • Enforce per-deposit, daily, and rolling limits by user/account/risk tier.
  4. Deposit status lifecycle
    • Statuses with clear transitions, e.g., Created → Uploaded → Processing → Accepted → Pending Hold → Available, or Rejected/Returned.
  5. Notifications
    • In-app real-time updates, push notifications, and email for acceptance, holds, availability, rejections, and returns.
  6. Error handling
    • User-friendly retries for capture/upload; server-side retries with backoff; dead-letter queues for poison messages.

Non-Functional Requirements

  1. Availability: 99.9%+ for submission API; 99.95% for status reads.
  2. Latency: P50 < 300 ms and P95 < 800 ms for submission acknowledgement; near-real-time processing with eventual completion minutes-scale.
  3. Durability: Image and transaction data ≥ 11 nines for images (multi-region object storage); transactional durability for ledger writes.
  4. Consistency: Strong consistency for idempotency, limit checks, and ledgering; eventual consistency acceptable for notifications and analytics.
  5. Observability: End-to-end traces, structured logs with PII scrubbing, SLO dashboards, anomaly detection on failure rates and OCR quality.

Risk and Compliance

  • Fraud prevention: device fingerprinting, velocity limits, risk scoring, liveness/attestation checks, endorsement verification, duplicate networks.
  • Holds and funds availability: Reg CC-compliant schedules; risk-adjusted holds; cutoff times; disclosures.
  • Check 21: image quality and exchange standards (X9.37), MICR integrity, CAR/LAR validation.
  • Audit trails: immutable, tamper-evident logs; retention per policy (e.g., 7 years).
  • PII protection: encryption in transit/at rest, access controls, data minimization, redaction/masking, key management and rotation.

Architecture Scope

Propose end-to-end design covering: on-device capture and guidance; image preprocessing (dewarp, glare/blur detection); MICR/OCR pipeline; endorsement verification; limits and risk scoring; duplicate detection across users/devices; idempotent submission API; asynchronous processing and reconciliation; core banking integration and ledgering; error handling with retries and dead-letter queues. Discuss data models, APIs, storage, scaling, rate limiting, device fingerprinting, security, monitoring, and testing strategies (sandbox, golden datasets, canary releases).

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Chime•More Software Engineer•Chime Software Engineer•Chime System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,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.