vlmkit, one defect at a time
Each demo is a page with something wrong in it and the command that finds it. The output on every page is what the command printed. The screenshots are from the same run, and the outlines mark only elements the tool itself named. Most pages are the repository's own test fixtures, so the same commands work from a clone.
npm install -D @mizchi/vlmkit
npx playwright install chromium
npx vlmkit check integrity http://localhost:3000/
Is the page broken?
Reference-free checks for the page you just wrote. No baseline, no design file, no API key.
Can it be operated?
Keyboards, focus order, and agents that click on a screenshot.
Can everyone read it?
Contrast measured on rendered pixels, including apps with no DOM at all.
Does it look designed?
Proximity, colour roles and a spacing scale. These report inconsistency, never taste.
What changed?
Two versions of a page, or one page under a longer language.
Vision models
Letting a VLM zoom into the original, from any provider.
Whole sites built by agents, each with the log of how it was judged: demo sites. A playable card game used as a drag-and-drop target: solitaire.