For developers
One snippet. Config in your repo. Reviewable in a PR.
No dashboard nobody diffs, no selector-based tour that breaks every deploy. Peeve is a snippet and a config file, and it finds elements by semantic fingerprint, not CSS class.
The pain
Another dashboard nobody diffs
Selector-based tools that break every deploy
Vendor scripts with unclear scope
How Peeve helps
Path emphasis
CLI + Brain
Judged on
Install time
Why teams choose Peeve
It doesn't break on deploy
Elements are matched by semantic fingerprint, not CSS selector, and drift is detected and healed. No tour to re-author every release.
Config you can diff
Routes, masks and capabilities live in peeve.config.json in your repo, reviewable in a PR. No dashboard state to reconcile.
Ships in an afternoon
One snippet plus a guided crawl, read-only until you widen it, kill switch in one command.
01Why doesn't Peeve break on every deploy?
Because it stores elements by role, accessible name, landmark position and neighbours (a semantic fingerprint), not by CSS selector or XPath. A restyle or re-render that would shatter a selector-based tool leaves the fingerprint intact, and genuine drift is detected and re-verified rather than failing silently.
02Where does configuration live?
In peeve.config.json at your repo root (routes, masks and capabilities), so every setting is reviewable in a pull request and versioned with your code. There is no separate dashboard state to reconcile, and a CI deploy-hook keeps the config and the product in step.
14-day trial, no cardInstalls in an afternoonRead-only until you widen itKill switch in one commandCancel anytime, no lock-in