open-core · Deno + Playwright · portable specs, always
Clean up on aisle AI.
Mop up the slop.
The more autonomous AI gets, the fewer humans see what ships. Pixelity closes that gap: breaking changes are blocked before they merge, and every change is documented with video receipts.
# install the CLI, then in your repo
curl -fsSL https://pixelity.dev/install.sh | sh
pixelity init && pixelity compare
Catch the regression your AI just shipped
Drag the onion-skin. This is what lands on your PR.
pull request #142 · pixelity bot
❌ 1/12 targets differ from baseline
checkout-cta · 1,204px · score 0.018
AI verdict: regression (94%)
“The checkout button drifted 64px right and now overlaps the summary card — inconsistent with the PR’s stated copy change.”
🎬 break video attached · suggested fix: revert margin change in checkout.css
Every change documented — in pixels and on tape
Pixelity doesn't just flag changes, it generates the evidence: before/after images for every visual diff, and an AI-narrated video of every changed flow.
generated images · baseline / candidate / diff
Deterministic capture (proven 0-drift), perceptual diff with AA-tolerance and ignore-regions, side-by-side + onion-skin review.
real recording · Pixelity reviewing this very page
🔊 Full dogfood: Pixelity captured this very landing page, caught a vibe-coded regression on the hero, and recorded + narrated this review with its own pipeline. Every changed flow on every PR gets one, auto-fed to your changelog.
Four pillars
👁
Visual regression
Deterministic capture (0 pixel drift, proven) + perceptual diffs. AI auto-triage pre-sorts every diff: intended · regression · noise — and learns from your overrides.
🤖
Coverage where AI ships
No coverage on the flows AI keeps touching? An agent crawls your app and generates the missing portable Playwright specs — landed on a review branch, never silently committed. Selectors self-heal.
🎬
Video previews
Every PR gets an auto-recorded, AI-narrated walkthrough of the new feature. Reels feed your public changelog for free.
🛡
Vibe-code guard
Maps an AI-authored diff to at-risk features and runs only the relevant tests. Red = blocked, with the break on video and a suggested fix.
How it works
-
01
Open a PR
Your CI runs the Pixelity Action — capture is deterministic, so no flaky diffs.
-
02
AI triages
Diffs are pre-sorted into intended / regression / noise with rationale and confidence.
-
03
You decide
Approve baselines in the dashboard; the AI learns from every override.
-
04
Ship with proof
A narrated video of the new feature lands on the PR and your changelog.
Pricing
The funnel is genuinely open source. The cloud does the heavy lifting.
Free · OSS
$0
- ✓ CLI + GitHub Action (Apache-2.0)
- ✓ Bring your own AI key
- ✓ Unlimited local runs
- ✓ Self-host everything
Pro
TBA
- ✓ Hosted dashboard + baseline storage
- ✓ Managed AI triage credits
- ✓ Video previews + PR bot
- ✓ Email support
Team
TBA
- ✓ SSO + RBAC
- ✓ Parallel runners
- ✓ Vibe-code regression guard
- ✓ Higher limits
Dogfooded, naturally
Pixelity visual-regression-tests this very page, and the changelog you'll read is auto-fed by its own release reels.
Read the docs