SaaS Platform

Automating the website quality-assurance process from crawl to report.

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.

WebQA automated website auditing dashboard
Role
Co-Founder and Full-Stack Developer
Project type
Website Auditing and Quality-Assurance SaaS
Technology
Laravel, PHP, MySQL, Redis, JavaScript and Google APIs
Contribution
Product architecture, backend development, auditing engine, dashboard and infrastructure

01Overview

Making technical website audits easier to run, understand and share

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

The challenge

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.

What the build had to solve

  • Crawl and process large groups of URLs reliably.
  • Run different categories of tests against every applicable page.
  • Handle redirects, SSL problems, timeouts and inaccessible resources.
  • Process time-consuming work without blocking the user interface.
  • Convert technical data into understandable pass, warning and failure states.
  • Keep project-level reports synchronized with URL-level results.
  • Provide results that could be shared with clients and team members.

03Solution

The solution

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.

Website crawling

Discovers internal pages, processes sitemaps and builds a structured list of URLs for testing.

Technical SEO checks

Reviews titles, descriptions, canonical tags, robots directives, headings, sitemaps and social metadata.

Performance auditing

Integrates Google PageSpeed data and evaluates factors related to page size, caching, compression and loading behavior.

Broken-link detection

Checks internal and external resources to identify failed requests and problematic destinations.

Security and configuration tests

Reviews SSL availability, security headers and other technical best-practice signals.

Actionable reporting

Organizes findings into clear statuses with explanations that can be understood and shared.

Custom QA processes

Allows audit results to be evaluated against defined quality expectations rather than providing an unstructured data dump.

Shareable project reports

Makes it easier for developers, agencies and stakeholders to review the same findings.

04Technical approach

A queue-driven auditing architecture

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.

Stack and tooling

  • Laravel
  • PHP
  • MySQL
  • Redis
  • Laravel Horizon
  • JavaScript
  • Custom HTML and CSS
  • Google PageSpeed APIs
  • Goutte
  • Symfony DomCrawler
  • Guzzle and Laravel HTTP Client
  • Git
  • Nginx
  • Ubuntu VPS

Technical challenge

Designing for partial failure

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

Inside the WebQA interface

06Outcome

A production SaaS platform built from the auditing engine upward

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

What I contributed to WebQA

  • Co-founded and helped define the product.
  • Built major parts of the Laravel backend.
  • Developed website crawling and automated test functionality.
  • Integrated Google PageSpeed and related external services.
  • Designed URL-level and project-level result storage.
  • Implemented Redis queues and Laravel Horizon workflows.
  • Built the custom dashboard interface.
  • Configured and maintained the Ubuntu, Nginx and VPS environment.
  • Worked on production debugging and queue reliability.
  • Developed shareable reports and actionable test results.

Have a project that needs more than a template?

I design and build custom web platforms, interactive interfaces and production-ready digital products.

Start a Conversation