Problem statement
Design the service that, when a post or comment @-mentions one or more users, fans out notifications to each mentioned user — deduplicated, coalesced, rate-limited, and respecting each recipient's mute and preference settings.
Operating context. Mentions originate from new posts and comments. A single post can mention many users at once, and a busy thread can mention the same user repeatedly — the recipient should not be pinged fifty times for one conversation. Notifications are written to an in-app inbox in a stable per-recipient order and handed off to a downstream push service. Before delivering, the system must honor mute, block, and per-user notification preferences, and must survive mention storms without a runaway write amplification.
Out of scope. The push transport to device gateways, the notification-preferences editing interface, email digest generation, and abuse detection on mention-farming. Assume other teams own those.
What to produce. A high-level design covering: extracting mentioned users and enqueuing fan-out, the fan-out and delivery model, dedup and coalescing of repeated mentions, enforcing preferences and mutes, the per-recipient inbox write with ordering, and back-pressure for storms. Sketch the components and flow from source event to inbox entry; checkpoints will probe the coalescing and storm-handling design.
Requirements
This assessment is a Premium feature.
The statement above is free to read. The functional and non-functional requirements, and the graded canvas that scores your design against them, come with Premium.
Topics
- System Design HLD
- Scaling Fan-Out
- Data Dedup
- Messaging Delivery
- Social Notifications