Skip to main content
Stage 2 · Practice

Practice it.

Try it in a safe space, coached, before it counts for real. Break things freely — everything here is simulated, so nothing real can break — and let Messy coach you toward the fix instead of handing it over.

Everything here is simulated.

Practice runs entirely on authored, in-memory scenarios. No real API keys, databases, deployments, or third-party accounts are ever touched — so you can break things freely and nothing real can break.

  • API request
  • API response
  • API key
  • Environment variable
  • Authentication
  • JSON payload
  • Webhook
  • Database
  • SQL / connection
  • Prompt
  • LLM response
  • Context window
  • Agent
  • Tool call
  • Git operation
  • GitHub workflow
  • Deployment
  • Build error
  • Runtime error
  • Rate limit
  • Malformed payload
  • Missing env var
  • Network failure

Coached challenges

Pick a broken setup and work it out. Stuck? Messy escalates help one step at a time — a gentle nudge, then the underlying concept, then the specific area, and only at the end a full walkthrough. It never just hands you the graded answer.

Fix the Mess

Every builder ships bugs, breaks a deploy, and leaks a key at least once. Here you meet those messes on purpose — read the symptom, diagnose the real cause, and choose the fix. Stuck? The hints escalate one nudge at a time, and solving with fewer of them earns more.

Start with the free one. Guess wrong all you want — that's how the fix sticks.

Starter

A common first-timer trip-up.
Starter

Works locally, 500s in production

Server log: `Error: OPENAI_API_KEY is undefined` — yet it works on your machine.

Environment VariablesDeploymentDebugging
3–5 min
StarterPro

The deploy succeeded but the site is blank

The deploy log ends with "Build completed" but the browser console shows 404s for every `/assets/*.js` file.

DeploymentDebugging
4–6 min

Tricky

Needs a real diagnosis, not a guess.
TrickyPro

Your API key is in your Git history

A secret scanner flags `const key = "sk-live-..."` committed to your public repo.

SecurityAPI Keys
5–8 min
TrickyPro

The model returned broken JSON

`SyntaxError: Unexpected token` — the model wrapped its JSON in ```json fences.

Structured OutputJSONDebugging
5–8 min
TrickyPro

The API call just failed

`fetch failed: 503 Service Unavailable` bubbles up and crashes the UI.

DebuggingReliability
5–8 min

Gnarly

The kind of bug that eats an afternoon.
GnarlyPro

Too many requests

`429 Too Many Requests` from the model provider.

ReliabilityAPIs
6–10 min
GnarlyPro

One leaked key, every environment down

Every environment returns `401 Unauthorized` from the provider at once, right after you rotated the compromised key.

API KeysSecurityEnvironment Variables
6–10 min