Screenshot built screens next to their design frames and let a vision model draft the discrepancy list — spacing, type, color, missing states — for you to triage into engineering tickets. Design QA is the review everyone agrees matters and nobody budgets time for; this makes it cheap enough to actually happen.
Workflow area: Accessibility & Design QA · Tier: Core · Hands-on time: ~30 minutes
Every designer knows the slow leak: the build ships at 90% fidelity, nobody has three hours to compare screens against frames, and the product drifts one "close enough" at a time. Pixel-diffing tools can't help because the build is never a pixel-clone of the frame — real data, real fonts, real viewport. What design QA needs is judgment about which differences matter, applied at a scale no designer has time for. Vision models are good at exactly the first half: enumerate everything that differs. You stay the second half: decide what's a defect, what's an acceptable adaptation, and what's the build being righter than the frame.
Pair the artifacts. For each screen in the flow: export the design frame from Figma, and screenshot the built product at the same viewport with realistic data. Capture the states, not just the resting screen — hover, focus, error, empty, loading — because missing states are the most common and most invisible build gap. Name pairs consistently (checkout-01-frame.png / checkout-01-build.png).
Run the comparison, one pair at a time. Two images, one structured ask:
Image 1 is the design frame. Image 2 is the built product.
List every visual discrepancy between them.
For each discrepancy report:
- WHAT: the element and what differs (spacing, size, type, weight,
color, radius, alignment, missing/extra element, missing state)
- WHERE: location on screen, precisely enough to find in code
- EXPECTED vs BUILT: frame value vs. build value, estimated
- GUESS-SEVERITY: cosmetic / noticeable / breaks-design-intent
Rules: report only what is visible. Do not assume the frame is
always right — note where the build handles real content better.
Ignore differences caused by placeholder vs. real data unless the
layout itself breaks. Number every finding.
Good output looks like this:
1. WHAT: primary button vertical padding smaller in build
WHERE: "Place order", bottom of summary card
EXPECTED vs BUILT: ~16px vs ~10px → button height ~44 vs ~38
GUESS-SEVERITY: noticeable (also a touch-target concern)
2. WHAT: card shadow missing entirely
WHERE: order summary card
GUESS-SEVERITY: breaks-design-intent (cards read as flat panels)
3. WHAT: build truncates long product names with ellipsis; frame
shows single-line short name only — build handles this BETTER;
consider back-porting to the frame.
Triage every finding yourself — this is the design judgment step. Walk the numbered list and assign each a verdict: ticket (real defect, engineering fixes), frame-fix (the build is right; update Figma), accept (intentional adaptation or below the care threshold), or verify (model's estimate needs measuring). For the verify pile, use browser dev tools or Figma Dev Mode to get true values — vision models estimate pixel values and are routinely off by a few px; never put an estimated number in a ticket without checking it.
Write tickets engineers can act on. Have the model draft them from your triaged list — one ticket per defect with screen, element, expected value (from Dev Mode, not estimation), built value, severity and screenshots attached. Batch cosmetic fixes for the same component into a single ticket; nothing burns goodwill like fourteen one-pixel tickets.
Track the drift pattern, not just the defects. After a few passes, ask the model to summarize recurring categories across your triaged lists: if shadows are always missing, the token isn't mapped; if spacing is always compressed, engineering is reading redlines wrong or the frame never used auto layout. Recurring drift is a systems bug — fix it in the design system, the handoff spec (pb-12), or the MCP-ready file prep (pb-34), and this QA pass shrinks on its own.
Build screenshots can expose real user data, internal metrics or unreleased features — QA against staging with demo accounts, and keep captures inside your organization's approved AI tenant.
The model enumerates, tools measure, you judge. That division turns design QA from a skipped luxury into a 30-minute release ritual — and the drift patterns it surfaces fix your system, not just your screens.