- Hire the engineer who writes the most code.
+ Hire the engineer who catches what the machine got wrong.

Writing code is cheap now. Reading it is the job. slopgate hands a candidate a real pull request with AI slop hidden in it, and shows you what they caught, what they missed, and whether they would have let it merge.

Try a challenge, no sign-upSign in for hiring teams

How an assessment runs

  1. Pick pull requests. 9 seeded PRs across Shell + GitHub Actions, TypeScript, Go, Kotlin, Python, Rust, SQL + TypeScript. Each hides the defects a model plausibly writes: a hallucinated API, a swallowed error, a lock held across an await, a migration that deletes everything. Plus decoys that look wrong and are not.
  2. Send one link. The candidate reviews in the browser: click a line, say what is wrong and how bad it is, then approve or request changes. A time limit per PR, nothing to install.
  3. Read the report. Every planted defect marked found or missed, every comment marked hit, false positive or decoy, and a verdict on the merge. One number, and the lines behind it.

What the score means

Detection 60
Planted defects found, weighted by severity: a blocker counts five times a minor.
Precision 20
Hits against false positives. Flagging a decoy costs double. Nits cost nothing and score nothing.
Calibration 10
Whether blockers were called blockers. One step off is half credit.
Verdict 10
Request changes when something blocks the merge; either answer is fine when nothing does.

The gate rule. Approving a pull request that contains a planted blocker caps the score at 40, whatever else was found. The slop got through, and that is the one outcome the job exists to prevent.

The corpus

Pull requestLanguageDifficultyTimePlanted
Automate production deploys from CIci/auto-deployShell + GitHub ActionsMedium20 min9
Extract a duration parser for the sync schedulechore/duration-parserTypeScriptEasy15 min2
Concurrent webhook delivery workerwebhooks/concurrent-workerGoHard30 min9
In-memory price cache with single-flight loadingpricing/price-cacheKotlinHard25 min8
CSV export for customer invoicesfeat/invoice-csv-exportPythonMedium30 min9
Product search with debounce and match highlightingsearch/debounced-boxTypeScript (React)Medium25 min7
Hot reload for the relay configrelay/config-hot-reloadRustHard30 min7
Soft delete for ordersorders/soft-deleteSQL + TypeScriptMedium25 min5
Add password reset flowfeature/password-resetTypeScriptMedium25 min8

64 planted defects in all, each with the explanation a strong reviewer would write, so a report doubles as feedback. 3 challenges are open as a demo without an account.

For hiring teams

Accounts are created per organisation. Write to [email protected] to get one, then sign in to build an assessment from the corpus, invite candidates by link, and compare reports side by side.

Sign inAsk for an account

What slopgate stores

A demo review stores the findings, verdict and timing of that session, and nothing about you: no name, no email, no account. A limit on demo starts per network is kept in memory and never written down. An assessment stores the name and email the hiring team entered, plus the findings, verdict and timing of each review, and shows them to that team only. Nothing is sold or shared. To have a review removed, write to [email protected].