Build Crawl Engine
Implemented sitemap discovery, Crawlee orchestration, Playwright browsing, exclusions, source tracking, bounded crawling, and repeatable desktop and mobile sessions.
Output / Browser crawl engine
Web QA Tooling
Built a browser QA crawler that checks five sitemap classes across two viewports, classifies render health, captures evidence, and exports structured reports for repeatable validation.
Sitemaps
5 crawl classes
Viewports
2 QA sizes
Tests
32 automated tests
Reports
JSON CSV HTML
A CRM rebuild starts by identifying the connected failures underneath the visible symptoms.
Root cause / 01
Manual page QA was slow to repeat across large site sections and inconsistent when rendering problems, responsive layouts, forms, assets, accessibility, or network behavior changed between runs. A URL list alone could not prove whether the browser actually rendered the page correctly.
The crawler therefore needed to separate real defects from blocked or degraded rendering. The render-integrity layer tracks document, CSS, scripts, fonts, images, backgrounds, iframes, XHR, and fetch activity before deciding which audits are trustworthy enough to run.
Audit signals
What the system was telling us.
Five sitemap classes feed the crawler
Desktop and mobile viewports are tested
Render health gates downstream audits
Screenshots preserve visual evidence
Thirty-two tests validate crawler behavior
The work moved from diagnosis to architecture, implementation, and governance—in that order.
Implemented sitemap discovery, Crawlee orchestration, Playwright browsing, exclusions, source tracking, bounded crawling, and repeatable desktop and mobile sessions.
Output / Browser crawl engine
Added checks for metadata, content, accessibility, assets, links, layout, forms, network behavior, responsive rendering, and interactive components systematically.
Output / Modular QA checks
Classified pages as healthy, degraded, blocked, or failed by tracking critical resources and visible browser state before running dependent audits.
Output / Render diagnostic layer
Generated JSON, CSV, HTML, screenshots, render diagnostics, tests, fixtures, and staged crawl commands for review and repeatable local execution.
Output / Structured QA reports
Four connected layers turned the portal from a collection of tools into an operating system.
System spine
Target-state sequence
Good automation and reporting sit on top of a governed data and process model—not the other way around.
Layer 01
Sitemap-defined URLs are visited in a real browser with bounded discovery, exclusions, source tracking, and repeatable session behavior.
Layer 02
Resource loading and visible DOM state determine whether a page is healthy enough for downstream visual and functional checks.
Layer 03
Independent modules systematically inspect accessibility, content, assets, links, layout, forms, metadata, network behavior, and responsive issues across pages.
Layer 04
Findings are written to machine-readable reports, human-readable HTML, screenshots, and render diagnostics for structured review and technical handoff.
The engagement focused on structural improvement, so the strongest results are clearer operations—not invented vanity percentages.
Manual spot checks missed broad patterns
Five sitemap classes automated
Blocked pages could create false defects
Render health now gates audits
Issues depended on manual screenshots
Evidence captured during crawl
QA varied between individual reviews
Automated tests and reports
A reusable case study should make the work tangible without exposing confidential client data.
Deliverable 01
Multi-sitemap crawl engine
Deliverable 02
Desktop and mobile QA
Deliverable 03
Accessibility audit module
Deliverable 04
Render health classifier
Deliverable 05
JSON CSV HTML reports
Deliverable 06
Screenshot evidence capture
The hardest part was not detecting more issues; it was knowing when not to trust a result. A browser blocked by Cloudflare can generate hundreds of technically correct but useless findings. Render health became the gatekeeper so the tool could distinguish a broken page from a broken audit session.
Client-specific URLs, credentials, screenshots, and private crawl evidence are excluded from public examples.