Design Restaurant Dashboard

Medium40 min
1 / 30
understanding8 min read

Problem Statement: Restaurant Merchant Dashboard

Problem Statement: Restaurant Merchant Dashboard — restaurant merchant dashboard interview depth

Problem Statement: Restaurant Merchant Dashboard

Design the restaurant merchant dashboard used by DoorDash Merchant, Uber Eats Manager, and Toast-style operators: live order handling, menu publishing, and store analytics without blocking kitchen ACK latency.

LensDetail
Primary actorStore manager / expo on tablet or web
Write pathAccept/reject → prep state → menu publish
Read pathWS order feed + rollup charts + revision history
ConsistencyCP on order transitions; AP on analytics tiles

Section focus (sec-001): Store S-442 receives order ORD-991 at 12:04 PM: two bowls, no onions, allergy flag on line 2. The dashboard must surface it within 800ms with audible + visual priority while the expo line is mid-ticket.

The core mechanism here is order ingest fan-in. Track new_order_p95_ms in dashboards; page when missed-order rate exceeds 0.4% for 10 minutes during dinner peak.

Production scar: tablet misses alert during rush. Mitigate with idempotent (store_id, channel, external_order_id) ingest, immutable order_line_snapshot, and revision-pointer publishes.

Operational narrative

Store S-442 receives order ORD-991 at 12:04 PM: two bowls, no onions, allergy flag on line 2. The dashboard must surface it within 800ms with audible + visual priority while the expo line is mid-ticket.

Deep dive

Peak 1,200 new orders/min across a metro; each store tablet maintains a WebSocket with last_event_id cursor for reconnect without replay storms.

javaOne Dark Pro
1public record OrderAck(String orderId, long stateVersion, String idempotencyKey, Instant ackAt) {}
pythonOne Dark Pro
1def publish_guard(active_revision: str, draft_revision: str) -> None:
2 if active_revision == draft_revision:
3 raise ValueError('revision already active')
typescriptOne Dark Pro
1export interface MenuRevision { revisionId: string; storeId: string; publishedAt: string; diffHash: string; }

Interview checkpoints (sec-001)

Why interviewers care

Restaurant Dashboard interviews reward crisp scope, explicit trade-offs, and failure stories—not generic microservice diagrams.

Interview checkpoint

Name one failure story for Problem Statement: Restaurant Merchant Dashboard that proves you understand real outages, not happy-path diagrams.

Key Highlights

  • order ingest fan-in anchors Problem Statement: Restaurant Merchant Dashboard
  • Metric: new_order_p95_ms
  • Guard: tablet misses alert during rush
  • understanding phase checkpoint
Mention this
Tie order ingest fan-in to new_order_p95_ms with a concrete dinner-rush anecdote.
Avoid
Do not hand-wave tablet misses alert during rush; explain detection and mitigation.
Staff+ signal
Separate realtime ACK plane from warehouse analytics before drawing boxes.
Trade-off
Call out AP analytics vs CP order transitions explicitly in this section.

Section Rescue Kit

Buzzwords to use:

catalog_revisionorder_line_snapshotorder_ingest_fan-in

Safe statements:

  • "For Problem Statement: Restaurant Merchant Dashboard, I'll quantify new_order_p95_ms before picking storage."
  • "Merchant dashboards never mutate consumer tax totals after accept."
Design Restaurant Dashboard - System Design | WinJob | WinJob