Adversarial dual-tier AI code review

AI code that looks fine alone can still break something else in your repo.

The model that wrote a change has no independent perspective to catch what it broke elsewhere. CodeArbiter routes generation and critique to two separate Gemini tiers — one writes the change, a second, independent pass tries to find what's wrong with it — before that diff ever reaches your branch.

  • Correctness
  • Security
  • Architecture
  • Edge cases
Try it live — no signup ↓
codearbiter · live review real Gemini calls
Reviews run
all time
No objections raised
critique tier agreed
Flag rate
of all reviews
2
Independent tiers
generate, then critique
How it works

Two independent passes, not one opinion twice

01

Paste the snippet

Drop in a function or snippet (not a whole repo) and a short instruction — fix a bug, add a feature, refactor. This build reviews one snippet at a time; repo-wide review is a later step.

02

Generate tier writes it

gemini-3.1-flash-lite produces the revised code from your instruction.

03

Critique tier audits it

A second, independent Gemini pass reviews what the first one wrote — with no visibility into its reasoning, only the result — and flags what it disagrees with.

Honest about the setup: we only have a Gemini API key, so this runs two independent passes with different Gemini model tiers, not cross-vendor review. Real editor/IDE integration and repo-wide review are a later step, not part of this demo.

Why this matters

84% of developers now use or plan to use AI coding tools — but only 29% trust the code they produce.

Source: Stack Overflow 2025 Developer Survey. Adoption keeps climbing faster than trust does — the gap is exactly what an independent second pass is for.

Live activity — shared demo queue, anonymized

What the critique tier has flagged recently

The last 20 reviews from every visitor to this page — verdict shape and time only, never the code itself.

TimeVerdictTop severity

No activity yet — be the first, run a review above.

On your code: the snippet you paste and the full model responses are never written to a database or log — they exist only in this request's memory long enough to show you the result. What we store for the public feed above is a single anonymized row: the verdict shape (issue count bucket, top severity) and a timestamp rounded to the minute. Read the full Privacy Policy.

Early access

Want this running against your own AI-generated diffs?

This build validates the mechanic through the web demo above — it doesn't issue API keys or ship an editor plugin yet. Leave your email and primary stack and we'll reach out when self-serve access opens.