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:
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.
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.
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.
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.
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.
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.