Spring GDS 25th Anniversary
A logistics company that ships to 190 countries built something to ship to itself.
Visual regression testing catches the changes a functional test never sees. It takes a screenshot of a page or component, stores it as the baseline, then compares every later build against that image pixel by pixel. When something moves, overlaps, or shifts color, the diff flags it. A button that still clicks but now sits half off the screen passes a functional test and fails a visual one.
The reason it exists: most UI breakage is silent. A CSS tweak meant for one component bleeds into three others. A font swap pushes a layout out of alignment on mobile. Logic stays intact, so unit and end-to-end tests stay green, and the regression ships anyway. Tools like Percy, Chromatic, and Playwright's built-in snapshot comparison sit in this gap, rendering the interface and surfacing what changed for a human to approve or reject.
The hard part is noise. Anti-aliasing, dynamic content, and animation can trigger false diffs that bury the real ones, so teams tune thresholds, mask volatile regions, and freeze timers to keep the signal clean. Done well, it's how a design system with hundreds of components stays consistent across every release without someone eyeballing each screen by hand.
We wire visual checks into the same pipeline as everything else. On a design system or a component-heavy front end, a snapshot run on each pull request catches the bleed before it reaches a real page, and the diff goes in front of a reviewer instead of a customer.
The work is in the tuning. We mask the regions that change for legitimate reasons, set thresholds that flag real shifts without crying wolf, and keep baselines under review so they don't quietly drift. Our automated testing covers behavior, visual regression covers appearance, and together they mean a confident styling change doesn't turn into a support ticket. We keep the suite honest by retiring snapshots that no longer earn their place.
Shipping UI changes and want to know nothing breaks on screen? Let's set it up.
A logistics company that ships to 190 countries built something to ship to itself.
Turning a brand into a working business.
Half a million people. One app. Zero chaos.















