Website crawling
Discovers internal pages, processes sitemaps and builds a structured list of URLs for testing.
SaaS Platform
As co-founder and full-stack developer, I helped build WebQA into a production SaaS platform that audits websites, organizes technical findings and converts large amounts of test data into clear, actionable reports.

01Overview
Website quality assurance often requires developers, marketers and QA teams to switch between multiple tools. Performance is checked in one place, metadata in another, links through a separate crawler and security configuration through another service.
WebQA was created to bring those checks into a single structured workflow.
As a co-founder, I worked across the product: the Laravel application, crawling and testing systems, database structure, background processing, external API integrations, dashboard interface, reporting workflow and production-server environment.
Users can create projects, scan websites, review URL-level findings and generate reports covering technical SEO, performance, website structure, security and general web best practices.
02Challenge
A website audit is not one test. It is a collection of tests running across potentially hundreds or thousands of URLs.
The platform had to discover pages, fetch and analyze their HTML, request external resources, integrate third-party performance data, store individual test results and summarize everything at project level.
It also had to handle slow or unreliable websites without allowing one failed request to stop an entire audit.
03Solution
WebQA was built as a Laravel SaaS application with a modular auditing process.
The system discovers website URLs through crawling and sitemap analysis. Each page is processed through a collection of tests covering metadata, links, images, content structure, social tags, performance configuration and security-related checks.
Laravel queues and Redis allow longer audits to run as background jobs. This prevents a large crawl from locking the interface and makes it possible to process work in a controlled sequence. Laravel Horizon provides visibility into queued jobs and failed processes.
The results are stored at URL and project level, allowing the dashboard to display both an overall website summary and the exact page responsible for a finding.
Discovers internal pages, processes sitemaps and builds a structured list of URLs for testing.
Reviews titles, descriptions, canonical tags, robots directives, headings, sitemaps and social metadata.
Integrates Google PageSpeed data and evaluates factors related to page size, caching, compression and loading behavior.
Checks internal and external resources to identify failed requests and problematic destinations.
Reviews SSL availability, security headers and other technical best-practice signals.
Organizes findings into clear statuses with explanations that can be understood and shared.
Allows audit results to be evaluated against defined quality expectations rather than providing an unstructured data dump.
Makes it easier for developers, agencies and stakeholders to review the same findings.
04Technical approach
The application is built with Laravel and PHP, with MySQL storing projects, URLs, tests and report data.
Goutte, Symfony DomCrawler and HTTP clients are used to retrieve and inspect website content. External integrations, including Google PageSpeed APIs, add performance information that cannot be determined from HTML analysis alone.
Redis and Laravel Horizon support background processing. This is particularly important because audits involve many network requests, and external websites can respond slowly, redirect unexpectedly or fail entirely.
The frontend uses a custom HTML and CSS interface with vanilla JavaScript. This keeps the dashboard closely aligned with the needs of the auditing workflow without relying on a generic administrative template.
Technical challenge
Website auditing depends on external servers that WebQA does not control. Pages can time out, return malformed markup, block requests, redirect repeatedly or present SSL problems.
The testing process was designed so that an individual request failure could be recorded as a result without ending the complete audit. This made the overall system more resilient and allowed users to understand which pages could not be processed and why.
05Interface
06Outcome
WebQA developed into a working SaaS product capable of running comprehensive website checks and presenting the findings through an organized dashboard.
The project gave me direct experience with the full lifecycle of a technically demanding product: defining the feature set, building the application architecture, integrating third-party services, managing background jobs, deploying to a VPS and maintaining production processes.
It remains my strongest example of full-stack Laravel SaaS development because the core product depends on much more than a conventional CRUD application. It combines crawling, distributed background work, data aggregation, reporting and infrastructure inside one system.
07Contribution
I design and build custom web platforms, interactive interfaces and production-ready digital products.
Start a Conversation