Built for developers who ship faster than they can check

What each check does

The names the run picker lists. The tester never pays, never types a password, and never deletes anything.

labs vitals · labs assist · labs trips · labs guard · labs compare · labs brief

Six that spend nothing

Speed & errors measures Core Web Vitals, links, console errors, accessibility and the CTAs that did nothing.

Re-checks turns a finding you confirm into a standing check that has to go red once first.

Report assembles coverage, what changed and the next three moves.

Assistant readiness checks the product works for AI agents acting for people: named controls, keyboard reach, machine-readable identity.

Round trips types a marked value, saves, comes back and reads it out. A save that saves nothing is arithmetic.

Environment diff captures the same pages on staging and production, then compares them. Pixels and words, measured, not eyeballed.

No API key
labs audit · labs wander

Two that read and reason

Site review reads a page like a first visit: five-second clarity, proof, trust, and whether it looks finished.

Test drive sends up to six testers, drawn from 10,000 people, thinking aloud past the sign-in wall.

Runs on your model key
labs sweep

All of it, one verdict

Checkup runs the free checks in one pass (Environment diff aside, which needs two URLs).

Full check runs Speed & errors, Site review, Re-checks and Report in one pass, then opens the console on the result.

Test drive stays its own decision, because six testers is a different size of run.

Needs a key

Every surface, judged the way a stranger judges it

Site review opens each page on a desktop and a phone, and judges only what it can see.

01SURFACESEach page you list, opened in areal browser rather than fetchedas text.144039002WIDTHSThe same page twice: once at1440px on a desktop, once at 390pxon a phone.× 703QUESTIONSSeven questions, asked of everysurface in one pass. All seven arelisted below.× 904WEIGHTSNine dimensions, each scored outof ten. Their weights, below, makethe one number.05FINDINGSWhat it found, and under each onea prompt you can paste straight atyour agent.
01 Surfaces
Each page you list, opened in a real browser rather than fetched as text.
02 Widths
The same page twice: once at 1440px on a desktop, once at 390px on a phone.
03 Questions
Seven questions, asked of every surface in one pass. All seven are listed below.
04 Weights
Nine dimensions, each scored out of ten. Their weights, below, make the one number.
05 Findings
What it found, and under each one a prompt you can paste straight at your agent.

03The seven questions, in full

  • what a stranger would say this is, and who it is for
  • whether the promise is a concrete outcome or polished vagueness
  • whether the main button names what happens next
  • whether the page shows the product working, or only says so
  • whether it is credible enough to hand real data to
  • whether the phone version feels finished, or merely shrunk
  • whether anything answers “why not the tool I already use”

04The nine weights that make the number

  • Value clarity15
  • Trust & privacy15
  • Core flows work15
  • Proof & demo10
  • First run10
  • Mobile polish10
  • Pricing clarity10
  • Differentiation10
  • Conversion path5

Each is scored out of ten. The weight is its share of the result, out of a hundred.

Strangers drawn from 10,000 people, thinking out loud

Each one lands with no instructions, and stops when it has seen everything or gives up.

01

Sees what a visitor sees.

A screenshot of the page, and the controls really on it. An invented button is refused.

02

Says what it is thinking.

In character, before it moves, so you get the reason and not just the click.

03

Picks its own next move.

Up to thirty steps, and it stops early once it stops reaching anywhere new.

Step 5 of a real session

Nothing here tells me what to do next, and I have spent five steps looking. A first visit that cannot find the product is the finding.

gave up
Filed as an abandon point with the whole transcript attached. The tester never pays, never deletes, and never signs itself out.

Everything it looks for before a model is involved

Speed & errors is one name for 39 separate detectors. None of them calls a model.

The visitor cannot get through

  • a form that cannot be submitted
  • a button that does nothing
  • a link that leads nowhere
  • no route to signing up
  • no route to paying
  • no way to reach a human
  • a screen stuck loading
  • focus that cannot be tabbed out
  • a dialog Escape will not close

The product says something untrue

  • a save that did not save
  • a confirmation that got it wrong
  • a silent failure to load data
  • an error page on a normal path
  • a stack trace shown to a visitor
  • a page that loses its content on reload

They cannot see it, tap it, or read it

  • an image with no alt text
  • a form field with no label
  • a control with no accessible name
  • a tap target too small to hit
  • content wider than the screen
  • no viewport set for phones
  • a page with no title
  • a page with no heading
  • no page language set
  • one id used twice
  • text too low-contrast to read
  • a heading that skips a level
  • content outside any page landmark
  • a clickable inside a clickable
  • a control unreachable at phone width

Something is exposed or broken

  • a password sent over plain http
  • a server key shipped in the page
  • a session cookie missing its flags
  • security headers never sent
  • an image that failed to load
  • an image larger than its slot
  • a file that never arrives
  • a JavaScript error thrown on load
  • a link preview that renders blank

Beside them the run executes the full axe-core 4.12.1 ruleset from Deque.

The same run measures LCP, INP, CLS and TTFB on every surface it opens, at two widths.

Confirmed bugs become standing checks

A check is minted while the bug is still there, so it has failed once before you trust it.

01

Minted while the bug is still there.

You confirm a finding a browser can re-drive, and the check is written from the run that caught it.

02

You fix it, and the check turns over.

The same steps run again and no longer reproduce. The finding closes on the browser’s answer, not on yours.

03

And if it comes back, so does the finding.

An armed check that fails reopens the original at critical rather than filing a second one beside it.

Pick a check and leave it

Full check runs the main ones in one pass, on the pages you name.

The run picker: Full check at the top, then the checks you can run on their own, with the pages to test and the model to read with.
A finding opened: the captured frame of the page, the surface and device it was taken on, and how the call is known.
The review screen: one finding, its evidence, what it wants instead, and one keyboard shortcut per verdict.
The report: one shareable document assembling every verdict, score and piece of evidence from the run.

Human judgement meets agentic evidence

Confirming is the only route to critical. Closing happens on the browser’s answer, not on yours.