PracHub
QuestionsLearningGuidesInterview Prep
|Home/System Design/Ramp

Design a Payment-Count Dashboard That Scales with Readers and Updates

Last updated: Jul 22, 2026

Quick Overview

Evolve an administrative payment-count dashboard from one reader and low write volume to a high-traffic, high-update service. Compare exactness and freshness trade-offs while handling duplicate or delayed events, durable aggregation, caching, reconciliation, and recovery from counter drift.

  • hard
  • Ramp
  • System Design
  • Software Engineer

Design a Payment-Count Dashboard That Scales with Readers and Updates

Company: Ramp

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

# Design a Payment-Count Dashboard That Scales with Readers and Updates Design a service that displays the total number of payments made on an administrative dashboard. Begin with one executive user and a low update rate, then evolve the design as both the number of dashboard users and the payment update rate grow. For the base problem, count each distinct payment record once and expose one all-time total. Do not add status filtering, time-range filtering, or grouped dimensions unless the interviewer explicitly requests them. Define how quickly a newly recorded payment should appear and whether the displayed total must be exact. ### Constraints & Assumptions - The payment system is the source of truth; the dashboard must not create or modify payments. - Payment-created events can be delivered more than once or out of order. - Historical recounts and reconciliation must remain possible. - Do not assume a particular throughput or freshness target without first eliciting it. ### Clarifying Questions to Ask - Is one all-time total sufficient for the base design? - How stale may the displayed number be? - What uniquely identifies one payment for retry and deduplication purposes? - How many dashboard users and payment updates must the system support now and later? ### What a Strong Answer Covers - A simple initial design appropriate for one reader - A clear evolution to event-driven materialized aggregates - Idempotency, reconciliation, and duplicate or delayed event handling - Read caching or push updates without losing a durable source of truth - Exact-versus-approximate and freshness-versus-cost trade-offs ### Follow-up Questions - How do you repair a counter that drifted? - What happens when an event is delivered twice? - How would the design change if time-range filtering were added later? - When would an approximate streaming count be acceptable?

Quick Answer: Evolve an administrative payment-count dashboard from one reader and low write volume to a high-traffic, high-update service. Compare exactness and freshness trade-offs while handling duplicate or delayed events, durable aggregation, caching, reconciliation, and recovery from counter drift.

Related Interview Questions

  • Design a Low-Latency Hotel Room Availability System - Ramp (medium)
  • Design a banking system with payments and merging - Ramp (medium)
  • Count Visits in One Minute - Ramp (hard)
  • Design an in-memory cloud storage system - Ramp (hard)
|Home/System Design/Ramp

Design a Payment-Count Dashboard That Scales with Readers and Updates

Ramp logo
Ramp
Jul 18, 2026, 12:00 AM
hardSoftware EngineerOnsiteSystem Design
1
0

Design a Payment-Count Dashboard That Scales with Readers and Updates

Design a service that displays the total number of payments made on an administrative dashboard. Begin with one executive user and a low update rate, then evolve the design as both the number of dashboard users and the payment update rate grow.

For the base problem, count each distinct payment record once and expose one all-time total. Do not add status filtering, time-range filtering, or grouped dimensions unless the interviewer explicitly requests them. Define how quickly a newly recorded payment should appear and whether the displayed total must be exact.

Constraints & Assumptions

  • The payment system is the source of truth; the dashboard must not create or modify payments.
  • Payment-created events can be delivered more than once or out of order.
  • Historical recounts and reconciliation must remain possible.
  • Do not assume a particular throughput or freshness target without first eliciting it.

Clarifying Questions to Ask Guidance

  • Is one all-time total sufficient for the base design?
  • How stale may the displayed number be?
  • What uniquely identifies one payment for retry and deduplication purposes?
  • How many dashboard users and payment updates must the system support now and later?

What a Strong Answer Covers Guidance

  • A simple initial design appropriate for one reader
  • A clear evolution to event-driven materialized aggregates
  • Idempotency, reconciliation, and duplicate or delayed event handling
  • Read caching or push updates without losing a durable source of truth
  • Exact-versus-approximate and freshness-versus-cost trade-offs

Follow-up Questions Guidance

  • How do you repair a counter that drifted?
  • What happens when an event is delivered twice?
  • How would the design change if time-range filtering were added later?
  • When would an approximate streaming count be acceptable?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Ramp•More Software Engineer•Ramp Software Engineer•Ramp System Design•Software Engineer System Design

Your design canvas — auto-saved

PracHub

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

Product

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

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • AI Coding 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.