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

baseline
this PR
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

  1. 01

    Open a PR

    Your CI runs the Pixelity Action — capture is deterministic, so no flaky diffs.

  2. 02

    AI triages

    Diffs are pre-sorted into intended / regression / noise with rationale and confidence.

  3. 03

    You decide

    Approve baselines in the dashboard; the AI learns from every override.

  4. 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
Star on GitHub

Pro

TBA

  • Hosted dashboard + baseline storage
  • Managed AI triage credits
  • Video previews + PR bot
  • Email support
Join the waitlist

Team

TBA

  • SSO + RBAC
  • Parallel runners
  • Vibe-code regression guard
  • Higher limits
Join the waitlist

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