Skip to content
playdsa
Preferences

Make yourself comfortable.

Saved on this browser. Your device’s reduced-motion preference is always respected.

Theme
Advanced settings

The Requirements Compass

Learn
Play
Prove
Problem context and objectives
Mission briefing

Lead systems engineer · The Requirements Compass

Design the first version of a live game leaderboard. Before drawing architecture, separate functional requirements from quality attributes and estimate the load that shapes the solution.

The design must survive players 5M daily and score writes 20K/s peak. Every box must earn its place by satisfying a requirement or containing a failure.

How you win

  1. 1Trace one user action from request to durable outcome
  2. 2Connect every component to a stated requirement
  3. 3Explain the losing tradeoff, not only the chosen technology

Rules and pressure

  • players: 5M daily
  • score writes: 20K/s peak
  • Submit a score
  • Read top 100

New words in this mission

Open a term for a plain-language explanation.
p99 latency+

If 100 actions are measured, about 99 finish within this time. Teams use it to notice the experience of nearly the slowest users.

latency+

The waiting time from starting an action until its result is available. Lower latency makes interactions feel more immediate.

Lesson 1 of 3

Live architecture trace

The Requirements Compass: request to outcome

1/5
◉Game serverclient⬡Score APIservice⬡Ranking serviceserviceDBScore storedata▤Top-K cachecacheOBSLO monitorobserve
LIVE EVENTverified score

Game server sends “verified score” to Score API. Functional requirements say what users can do. Non-functional requirements define qualities such as latency, availability, durability, consistency, security, cost, and scale.

players = 5M daily

Design the first version of a live game leaderboard. Before drawing architecture, separate functional requirements from quality attributes and estimate the load that shapes the solution. Follow one real user action through the complete architecture; a component is useful only when you can explain the request, state, or failure it handles.

Help shape PlayDSA

Something confusing, broken, or missing? Leave a quick note without leaving your lesson.

Please leave out passwords, payment details and other private information.

Page included: /

Sign in to save feedback here, or send it with your email app. Your draft stays here while you sign in.

Open email instead