I wanted something in the middle.
SnapDrift is a small Node/ESM library plus a set of composite GitHub Actions for running visual checks in CI for web apps. The idea is: * publish a baseline on main * compare PR screenshots against the latest successful baseline * scope routes based on changed files * upload artifacts * leave/update a PR comment with the drift summary * optionally fail the run depending on how strict you want to be
A few constraints are deliberate: * it assumes GitHub Actions, rather than pretending to be CI-agnostic * it uses Playwright implicitly, rather than trying to abstract over every browser stack * it only does full-page capture right now * it keeps viewport presets fixed and the config surface fairly small
That may make it less generally “flexible,” but I think it makes it easier to reason about and easier to drop into an existing repo without building a mini platform around screenshot testing.
The goal wasn’t to invent a new category here. It was to make the common “compare UI on PRs and tell me what drifted” workflow less annoying and more review-friendly.
It’s early, but it’s public and usable now: https://github.com/ranacseruet/snapdrift
I’d especially love feedback on: * whether the GitHub Actions-centric approach feels refreshingly narrow or too limiting * whether changed-file route scoping is actually useful in practice * what’s missing for teams already doing Playwright-based UI checks