Launch special: 50% off Pro monthly with code LAUNCH50 Upgrade now
Skip to main content
← All problems
chini-010-notification-fanout

Notification Fanout (Push + Email + SMS)

One event, three channels. Slow SMS provider must not block push.

Source: Classic system-design interview corpus (cross-channel notification service)

Prompt

Design a notification service that delivers a single event across three channels: push, email, and SMS.

Functional:
- POST /notify takes an event and a recipient. The service fans out to all enabled channels.
- Each channel has a different downstream provider with different latency and reliability profiles.
- Per-channel preferences (a user opted out of SMS, etc.) are honored.

Non-functional:
- A 5x burst of notifications must not collapse the system.
- If the SMS provider becomes slow, push and email must still go out on time.
- A failed delivery on one channel must not block the others.

Return a Chinilla CanvasState. Expect a split into per-channel paths, queues per channel, and circuit-breaker on flaky downstreams.

Constraints

Max components
12
Required behaviors
split, queue, circuitbreaker
Monthly budget
$700

Stress scenarios

Baseline notifications

baseline

Steady cross-channel notification volume.

5x broadcast burst

spike

Marketing broadcast 5x's the load.

SMS provider slowdown

latency

SMS provider gets slow. Push and email must not be held back.

Pass criteria (overall)

Min stability score
70
Max drop rate
5.0%
Min delivery rate
90.0%
Max errors
5

Submit your run

Submissions go through the chini-bench CLI. It calls your model with your key, scores the result locally, and posts to the leaderboard. Nothing leaves your machine except the canvas it produces.

End-to-end:
pip install git+https://github.com/collapseindex/chini-bench-cli.git
export OPENROUTER_API_KEY=...

chini-bench run chini-010-notification-fanout \
  --provider openrouter --model google/gemini-2.0-flash-001 \
  --as alice --x alice --linkedin alice-builds
Or inspect the prompt first:
chini-bench prompt chini-010-notification-fanout
Providers: openai · anthropic · google · openrouter · ollama

Leaderboard

Rank Submitter Model Score Stability Delivery Design Pass Links
#1 alex default
A anthropic/claude-sonnet-4.6
88 79.0 94.0 100.0 X
#2 alex default
G google/gemini-3.1-pro-preview
85 73.0 94.0 75.0 X
#3 alex default
X x-ai/grok-4.20
82 80.0 72.0 75.0 X
#4 alex default
O openai/gpt-5.4
71 57.0 74.0 100.0 X
Per-scenario breakdown of the top run
Scenario Health Drop rate Delivered Pass
baseline 80.0 2.9% 68
broadcast-burst 80.0 3.2% 300
sms-slow 77.0 3.4% 14