Lesson 13 of 15
33. Design a Notification System

Variations to practise

3 min read+10 XP

Chapters used

Approach (1), Estimation (2), Polling vs push, APNs/FCM (21), Message queues (22), Pub/sub (23), APIs, idempotency and webhooks (24), Rate limiting (25), Failures and bulkheads (29), Observability (30).

Try these variations

Each is a common follow-up. Answer in two minutes, then check the sketch.

  1. "Add an in-app inbox." → Write every notification to an inbox store per user (paginated with cursors, Chapter 24); push becomes a nudge to open it.
  2. "Batch them into a daily digest." → Hold low-priority notifications in a per-user buffer; a scheduler renders one digest at the user's preferred time.
  3. "Support WhatsApp as a channel." → Another channel queue and worker with its own provider, templates approved in advance by the provider, and opt-in rules.
  4. "10× OTP traffic during a big launch." → Pre-warm OTP workers, raise provider quotas in advance with both providers, and offer non-SMS options to reduce load.