VizProof - SaaS de Visual Regression Testing
Résultats Clés
Défis
- Capturer des rendus web stables sur plusieurs navigateurs
- Comparer les screenshots avec un moteur de diff fiable
- Gerer les runs VRT a grande echelle (API
- UI
- CLI)
- Concilier UX produit
- quotas et contraintes de billing
Solutions
- Monorepo pnpm avec packages server/web/cli/shared
- Pipeline de capture Playwright (Chromium
- Firefox
- WebKit)
- Moteur de diff pixelmatch + pngjs avec classification AI
- API Fastify + Prisma/PostgreSQL avec auth JWT/refresh token
VizProof - SaaS de Visual Regression Testing
Contexte
VizProof est un SaaS de Visual Regression Testing (VRT): il capture des screenshots web, compare les rendus entre runs et detecte les regressions UI avant mise en production. Le projet est disponible en production sur https://vizproof.com.
Enjeu produit
L'objectif n'etait pas seulement de prendre des captures d'ecran, mais de construire une plateforme complete:
- pilotage des runs depuis une interface web
- orchestration backend fiable pour les captures et diffs
- integrations CI/CD via une CLI dediee
- extension ecosysteme via plugin WordPress
Architecture
Le produit repose sur un monorepo pnpm organise en packages:
packages/server: API Fastify + Prisma + PostgreSQLpackages/web: React + Vite + TypeScriptpackages/cli: CLI@vizproof/clipour l'integration pipelinepackages/shared: types et helpers partageswordpress-plugin/vizproof-timeline: plugin WordPress d'integration
Cette structure permet de partager la logique metier, d'accelerer les iterations et de garder un niveau de qualite homogene entre API, frontend et CLI.
Pipeline VRT
Le coeur de VizProof est un pipeline de capture/diff:
- declenchement d'un run (manuel, schedule, webhook)
- captures Playwright sur plusieurs moteurs (Chromium, Firefox, WebKit)
- stabilisation de rendu avant screenshot
- comparaison baseline vs run courant avec
pixelmatch/pngjs - classification et resume AI des diffs pertinents
Le resultat est exploitable a la fois par les equipes produit, QA et dev pour valider rapidement les changements UI.
Securite et operations
- authentification JWT + refresh token en cookie httpOnly
- quotas et usage mensuel selon les plans
- webhooks (GitHub, Lemon Squeezy, etc.)
- notifications et alerting integres
Le backend est concu pour absorber des runs frequents tout en conservant une bonne lisibilite des incidents et des changements.
Conclusion
VizProof est une plateforme VRT complete, pas un simple script de screenshot. Le projet combine architecture backend solide, execution Playwright multi-navigateurs, moteur de diff robuste et experience produit orientee usage reel en CI/CD.