chini-005-chat-fanout
Group Chat Fanout (WhatsApp-style)
Deliver messages to large group chats in order. No drops, no duplicates.
Source: Classic system-design interview corpus (WhatsApp / Slack messaging)
Prompt
Design the message-delivery backbone for a group-chat product. Functional: - POST /message sends a message to a group of N users. - Every recipient must receive every message exactly once, in send order. - Some users are offline and must receive messages when they reconnect. Non-functional: - A burst of group messages (5x normal) must not delay 1:1 messages. - Loss of the offline-storage component must not lose in-flight messages. - The system must enforce a per-sender rate limit to prevent abuse. Return a Chinilla CanvasState. You'll need a queue, storage for offline users, fanout to recipients, and a rate-limit on the inbound side.
Constraints
- Max components
- 13
- Required behaviors
- queue, ratelimit, storage
- Monthly budget
- $900
Stress scenarios
Baseline messages
baselineNormal mix of 1:1 and group chats.
5x group burst
spikeGroup-message volume spikes 5x.
Offline storage outage
outageThe storage component for offline users is down.
Noisy network
cascadeProcess-time jitter at 30%, ambient 5% drop. Tests resilience.
Pass criteria (overall)
- Min stability score
- 72
- Max drop rate
- 3.0%
- Min delivery rate
- 93.0%
- Max errors
- 4
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-005-chat-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-005-chat-fanout Providers: openai · anthropic · google · openrouter · ollama
Leaderboard
| Rank | Submitter | Model | Score | Stability | Delivery | Design | Pass | Links |
|---|---|---|---|---|---|---|---|---|
| #1 | alex default | G google/gemini-3.1-pro-preview | 76 | 65.0 | 75.0 | 100.0 | ✗ | X |
| #2 | alex default | X x-ai/grok-4.20 | 73 | 48.0 | 91.0 | 100.0 | ✗ | X |
| #3 | alex default | A anthropic/claude-sonnet-4.6 | 71 | 69.0 | 57.0 | 100.0 | ✗ | X |
| #4 | alex default | O openai/gpt-5.4 | 45 | 40.0 | 20.0 | 100.0 | ✗ | X |
Per-scenario breakdown of the top run
| Scenario | Health | Drop rate | Delivered | Pass |
|---|---|---|---|---|
| baseline | 68.0 | 7.7% | 168 | ✗ |
| group-burst | 66.0 | 8.7% | 812 | ✗ |
| offline-storage-down | 74.0 | 3.3% | 0 | ✗ |
| noisy-network | 53.0 | 17.5% | 40 | ✗ |