The incident
Bellbird is a fictional marketplace. It sends push, email, SMS, and in-app notifications when a buyer's order changes. One-time passcodes are part of sign-in and need a quick answer; newsletters can wait.
Last month, a 25,000-recipient newsletter filled the notification queue when a login campaign sent 1,800 OTPs. The first OTP arrived 19 seconds after the request, 14% of the OTP requests missed their useful window, and a provider outage left 640 notifications unaccounted for. The providers also enforce separate rate limits, and some users have opted out of marketing channels.
Build the delivery path the support team can operate: urgent messages should not sit behind bulk mail, provider trouble should not erase accepted work, and a user's choices must be respected. The lab does not include provider contracts, campaign authoring, or a mobile client.
Lab boundary
Implemented: a notification API, Redis-backed queue and records, one worker, a fake provider with controllable latency and failure, a load script, and delivery metrics. Simulated: provider rate limits are represented by the fake provider's delay and outage controls, and the 25,000-recipient campaign is represented by a smaller deterministic queue. Design doc: provider-specific quotas at fleet scale, multi-region queue placement, push-token lifecycle, and the client protocol details beyond the local SSE stream.
Starter
Use the template at https://github.com/Tserewara/starter-notify.