Handbook

Why this exists

More and more of the diffs you review were written by a model. Someone still has to approve them — and that someone is you. The scarce skill is no longer typing the change; it is the intuition to look at a plausible diff and spot the problem:

app/auth/tokens.py
+ payload = jwt.decode(
options={"verify_exp": False},found
+ )

lgtmxp trains that intuition the way Duolingo trains vocabulary: short, realistic exercises, instant feedback — and, unlike a streak counter, consequences. Every mistake you make here is one you learn from, instead of one you get paged for.

No signup, no backend: your progress — mistakes included — lives in your browser's localStorage and never leaves it. Free.

Reviewing a diff

Every exercise is a pull request: title, description, and a syntax-highlighted diff. Click a line to flag it, pick one or more labels, optionally add a comment, and submit.

If you think the diff is fine, approve it with LGTM — some diffs really are clean, and knowing when not to comment is the rarest review skill.

  • foundRight line, right labelFull credit.
  • partialRight line, wrong labelHalf credit.
  • false positiveInnocent line flaggedShown in results, no XP lost.
  • missedApproved a buggy diffYou missed everything, and its side effect ships.
  • LGTMApproved a clean diffFull XP. Judgment counts.

Yes, flagging every line is “free” — there is no leaderboard to cheat and nobody to impress. You would only be training yourself to be the noisy reviewer nobody wants on their PR. Silence on a buggy diff is the only losing move.

Stuck? Hints are rate-limited: Ask ChatGPT unlocks after your first 60 seconds on a diff, opens it with a hint prompt, then locks for another 60 after each use. A mentor with boundaries.

XP, levels, and shifts

Each exercise pays 20 + 10 × tier XP, split across its issues. XP moves you up the ladder: L1–L3 junior L4 mid L5–L6 senior L7 staff L8 principal

Each level unlocks harder material — from missing error handling all the way to “is this the right change at all?”. Score above 80% on three reviews in a row and the next shift pulls in work one tier above you.

Work arrives in shifts: four reviews from your services, rotating every 15 minutes whether you finish or not. Clear the whole shift before it rotates for a +25 XP bonus. Your time per review is recorded — see the Career page for your focus-time trend.

Your team and services

You review what your team owns. Eight services exist: billing-api (Python), platform-api (TS/Node), web-app (React), edge-gateway (Go), warehouse (SQL), data-pipeline (batch data), infra-ops (cloud/deploy), and ml-agents (LLM apps & agents).

You start owning two: billing-api and web-app — backend and frontend from day one. A new slot unlocks at every level from L2 to L7: more seniority means a wider scope of impact and more kinds of review. Joining a service for the first time pays a +30 XP scope bonus.

Reassignment is a level-up reward: each new level grants exactly one. Joining an empty slot is free; leaving a service spends the reassignment. Choose your scope like it is a promotion packet.

When you miss

Every buggy exercise hides a production side effect — a rollback, a 3am page, a security breach, a silent failure. Catch every issue and you prevented it. Miss any and it ships, straight to your Career page: incidents shipped, pages received, postmortem hours logged, and team morale, which does not enjoy incidents.

Nothing is permanent. Retake a failed exercise, catch everything, and the incident moves to the prevented column — morale recovers. Blameless culture; the dashboard just has a good memory. That is the point: learn on your mistakes here, where the outage is fictional.

Where the exercises come from

All 224 exercises come from a generation pipeline built on the mistakes LLMs actually make — off-by-ones in pagination, disabled JWT expiry checks, mutable default caches, concurrent map writes — each expanded across realistic services and domains, with a written explanation for every planted issue. Clean diffs are planted too, on purpose.

That also means the answer key is not scripture. If you flag something the grader calls a false positive and you are sure it is real, you might be right — that instinct is exactly what this site trains. Disagree with a verdict? Tell us — reviews of the reviewer are very on brand.