Rules

Season 1 — The American Idol Challenge

The challenge

Your container must expose a single endpoint: POST /votes on port 8080. The body is a JSON object with a contestant field (string, one of 10 contestants). Respond with HTTP 200 and any body within 500ms to count as a valid vote.

After the 20-minute gauntlet, we hit GET /leaderboard to verify vote counts match what we sent. Data loss costs durability points.

Your container runs on a t3.medium (2 vCPU, 4GB RAM) with a 3.8GB memory limit. The container must be a public image on Docker Hub, GHCR, or ECR Public and under 2GB compressed.

Load profile — 20 minutes

Cold open burst
0–2m
0 → 100K req/s
Settle
2–5m
100K → 40K req/s
Sustained grind
5–10m
40K → 13K req/s
Second wind
10–15m
13K → 70K req/s
Final surge
15–19m
70K → 100K req/s
Cool down
19–20m
100K → 0 req/s

10 contestants with skewed distribution: 35/25/15/10/7/1/1/1/1/4%. Requests are sent from a second t3.medium running k6.

Scoring (max 1000 pts)

Throughputmax 200 pts

Peak sustained req/sec over the 20-minute run.

Latencymax 200 pts

p99 latency at peak load. Lower is better.

Durabilitymax 200 pts

Vote data integrity after load — did your DB lose writes?

Availabilitymax 200 pts

Error rate across the full run. < 0.1% errors = full marks.

Recoverymax 100 pts

p99 latency 60 seconds after the test ends.

Efficiencymax 100 pts

Throughput per MB of RAM at peak load.

Bonus points: open source repo with MIT or Apache license (+25 pts). Fast startup under 5 seconds (+10 pts). More bonuses added each season.

Tiers

LEGENDARY900–1000 pts
PLATINUM800–899 pts
GOLD600–799 pts
SILVER400–599 pts
BRONZE200–399 pts
DNF< 200 pts

Rules

  • Container must be public and under 2GB.
  • No external network calls during the test (the target instance is firewalled).
  • Your container may use all 2 vCPUs and up to 3.8GB RAM.
  • HTTP 429 responses count against availability. HTTP 500 responses count double.
  • One active submission per account at a time. Max 3 per day.
  • Seasons are 30 days. Leaderboard freezes at season end.