You are the only DevOps/cloud engineer at shipfa.st, a startup growing from garage to IPO. A 24-level campaign — 21 incidents (each modeled on a real public postmortem) plus build tasks you initiate yourself — on one screen: panicking Slack channel, a live terminal, a 3D-ish topology map, monitoring, CEO calls, pay reviews, a mentor who teaches you and a junior you later teach.
python3 sev1/serve.py 8902 # serves with no-cache headers
# open http://localhost:8902(Any static server works; serve.py just disables caching for development.)
Pure static files, no build, no dependencies. Progress saves to localStorage.
- Campaign — 24 levels across 5 funding stages. Incidents (firefighting) + ⚙ build tasks (deploy pods, CI/CD, monitoring, terraform) where you build it yourself and a realistic fault hits mid-task.
- Grace, your mentor — a senior SRE who pairs with you on level 1, answers
ask <question>in plain English, nudges you when stuck, and teaches on every error. Her coaching fades as you level up. - You become the mentor — Grace leaves at the end of Series A; the board gives you Sam, a junior. In late-game incidents Sam proposes commands and you approve / correct / refuse them. Train him well and he handles a sub-incident himself in the finale.
- Level debrief — after each level, a full study artifact: your annotated command transcript, a senior's path, what each command does, and similar real-world scenarios. ★ Star levels to revisit them in the Study hub.
- Realism — topology graph with live "users affected", a public status page that flips green→degraded→major-outage, incidents that escalate (SEV-2→SEV-1, the team piles into the channel, screen shake, pager sound), a War Room pause to think, and streamed output for slow ops.
- Field Manual +
tldr <cmd>+ Mastery page (commands you've collected) — for learning the tools hands-on. - DRILLS (
drills.html) — 30 randomized practice scenarios + a daily drill. - PROJECTS (
projects.html) — standalone build tasks.
Sound is off by default (toggle ♪ in the header).
There are no canned answers. Commands operate on a live world model — a
virtual filesystem, services, processes, network, containers, clusters,
repos and a cloud account — so rm actually frees disk space that df
then reports, systemctl restart actually fails until you fix the unit
file and daemon-reload, and sudo is actually required where root is.
Covered: ls cd cat nano find du df grep sed awk tail head sort wc pipes redirection bash-scripts crontab · systemctl journalctl ps top free kill dmesg · ping curl dig ss ip nc ssh iptables · docker docker-compose ·
kubectl (get/describe/logs/apply/rollout/scale) · git gh (CI) ·
aws (ec2/s3/iam/ce/route53/autoscaling/logs) · terraform ·
ansible ansible-playbook · openssl certbot psql nginx.
help lists everything, man <cmd> gives usage, hint un-sticks you
(costs points).
| Stage | Levels | Domains |
|---|---|---|
| Garage | 1–5 | disk full, cert expiry, systemd, bash/cron backups, ssh permissions |
| Seed | 6–10 | leaked AWS keys, broken CI, docker OOM, DNS, bill spike |
| Series A | 11–15 | k8s crashloops, ingress, alert fatigue, terraform lock/drift, redis |
| Series B | 16–20 | ansible fleet patching, DDoS, runaway autoscaling, DB disaster (GitLab homage), region failover |
| Pre-IPO | 21 | everything at once, the night before listing |
Each level: live incident (burn meter, trust bar, downtime clock) → fix it in the terminal (multiple valid solution paths) → root-cause quiz → S/A/B/C/D grade → XP/rank. Between stages: funding rounds with pay-rise negotiations. Risky actions (rm on /, terminating prod, applying a destructive terraform plan) are noticed and cost you.
Every level links the real-world postmortem or thread that inspired it.
index.html,css/game.css— one-screen layout: chat / terminal / opsjs/world.js— virtual FS, hosts, services, k8s/git/docker/cloud modelsjs/shell.js— tokenizer, pipes, redirection, sudo, $VARs, filtersjs/commands-core.js— linux, files, systemd, networking, ssh, certsjs/commands-infra.js— docker, kubectl, git, gh, aws, terraform, ansiblejs/levels-a.js,js/levels-b.js— the 21 incident definitionsjs/story.js— cast, funding stages, pay reviews, grade linesjs/ui.js,js/main.js— rendering and game orchestration