How it works

A senior design review, structured

A single-call vision pipeline with a strict output contract — so the critique is safe to render, easy to test, and triageable by a PM.

1
Upload

Drop a screenshot. In mock mode it stays in your browser; in live mode it's sent to the vision model.

2
Rubric

Pick a lens — accessibility, conversion/PM, trust & safety, or general UX. The rubric focuses the critique.

3
Critique

claude-opus-4-8 vision analyses the image against the rubric and returns a strict JSON contract (summary, findings, recommendations, risks, confidence).

4
Severity ranking

Findings are ordered critical → low so the worst issues surface first.

5
Report

Filter by severity, send a finding 👍/👎, and export a Markdown report.

Why a strict output contract

The model returns a fixed JSON shape (findings with severity, category, description, suggestion). That makes multimodal output safe to render, deterministic to test, and — crucially — triageable: a PM gets a ranked backlog, not an essay.

Why severity + confidence

Each finding carries a severity, and the critique carries a confidence label. That keeps the tool honest: the guardrail is unsupported design claims, and confidence makes uncertainty visible instead of hiding it.

What I deferred

Pixel-accurate bounding boxes are out of the MVP — issue cards ranked by severity are the 80/20 of value and avoid the hardest part of visual grounding.