Design a Code Hosting / Notifications System

Problem

Design a core GitHub subsystem: the notifications/activity feed delivered when repos, issues, and PRs change.

Requirements

Functional:

  • Notify subscribers on repo/issue/PR events
  • Per-user inbox with read/unread
  • Configurable subscription rules
  • Email/web/push delivery

Non-functional:

  • 100M+ users, huge event volume
  • Timely delivery
  • No lost notifications

Discussion points

  1. Event ingestion and fan-out (write vs read)
  2. Subscription model and filtering
  3. Inbox storage and pagination
  4. Multi-channel delivery (web/email/push)
  5. Deduplication and back-pressure
added …
LeaderboardSalaryAccount