
Operating a web network of over 100 domains presents a massive quality assurance challenge. Manual link checking, visual regression audits, and database integrity checks are impossible to perform daily. To solve this, I built QA Watchdog, an automated script suite running on Playwright Chromium that executes end-to-end crawls, content checks, and health audits across our entire network.
1. Playwright Visual Auditing
The watchdog features a custom node script (generate_watchdog_tests.js) that queries our MongoDB database, extracts all active domains, and compiles a dynamic Playwright test spec. The test runner launches Chromium browser instances in parallel, navigates to each domain, captures high-resolution screenshots, and saves them to a local folder. This enables quick visual verification of all layouts, confirming that zero pages contain placeholder or broken template blocks.
2. Outbound Link Checks & Database Pruning
In addition to visual checks, the watchdog runs a link crawler (scan-outbound-404s.js) that scans all outbound links. If any external advertising link returns a 404 Not Found or 500 Server Error, the watchdog flags the record, records the event in the audit logs, and deactivates the broken target in the database. This guarantees that visitors never click on dead links, maximizing monetization and domain authority.
3. Telemetry Integration (Grafana, Loki, & Prometheus)
To centralize monitoring, QA Watchdog is connected to a local telemetry stack consisting of Grafana and Loki. During each cron run, audit results and page rendering speeds are sent directly to Loki logs. A custom Grafana dashboard displays a visual status grid of the websites, a status timeline of test results, and real-time log streams. By mounting the screenshots folder into Grafana, we can review the visual output of all 100+ sites directly in the dashboard.