Visual testing for Storybook
Buddy screenshots every story, in every browser and on every device you support, diffs them against your approved baseline, and hands you the handful that actually moved.
Trusted by the world's leading engineering teams
Green pipelines still ship broken UI
One token change touches every component, and nobody clicks through 128 stories before merging. Assertions don't catch shifted padding — the regression ships green.
Nothing merges until someone says yes
The run holds while you review what changed. Approve the diffs and they become your new baseline — in Buddy pipelines or on GitHub Actions.
Baseline per branch.
Compared against the approved version from your branch's ancestor commit — you review each change once.
The run waits for you.
The approval action suspends the pipeline; in GitHub the commit status blocks the merge.
Auto-approve where it's noise.
Pattern-match the branches that shouldn't need a human.
Three lines, no addon
Your stories are the tests. Buddy pulls them straight from your CI's static build — no addon, no config.
Storybook docsnpm run build-storybook
cd storybook-static
bdy tests visual uploadHosted Storybook, every build
Buddy keeps every tested build online, each under its own link. Open the real components from that exact commit — no branch checkout, no build.
Not just Storybook
Wrap an existing E2E run, or skip test code and point Buddy at a URL. Either way it lands in the suite you're already reviewing.
You pay for machine time, not snapshots
One plan plus metered compute and storage. The snapshot count is never a line item.
$29 / month + usage
~$14 of compute at 200,000 snapshots
A typical bill at that volume lands around $43 all in.
One plan, then metered usage.
You only pay for the machine time and storage your suites use.
~$0.00007 per snapshot, measured.
Compute and storage per story - render, diff and retention included.
No snapshot counter.
No quota, no per-snapshot tier, no overage cliff.
How Buddy compares at 200K snapshots a month
Common questions
Do I need an addon or test code?
No. Buddy takes the static build your CI already produces and the bdy CLI uploads it, with Node 20 or newer as the only requirement. Every upload creates a new session.
Which browsers and devices are covered?
Every browser, system and resolution enabled in your suite settings. Stories render across Chrome, Firefox and Safari, from desktop to mobile.
Does it work outside Buddy pipelines?
Yes. Run the same upload from GitHub Actions and the commit status carries the verdict back to your pull request.

