Lab note 01 · Build log

How we built
the free site scanner.

One URL in, 150+ real audits out. Here is what runs between the moment you paste a link and the moment the report lands — and the corners we refused to cut.

Pixel Pulse Site Health Lab · 2026-07-31 · 6 min read

01What happens when you paste a URL

The browser sends your URL to a small AWS Lambda function. That function does two things in parallel: it fetches your site itself for first-party evidence — reachability, redirect chains, title, meta description, H1 count, canonical, Open Graph tags — and it calls the Google PageSpeed Insights API for the deep audit: performance, accessibility, best practices, and SEO.

That second call is the heavy one. A single homepage run evaluates 153 individual Lighthouse audits on our own site, from image weight to tap-target size. The Lambda merges everything into one report, computes a score, and returns the part the free teaser is allowed to show.

02Why the scan runs server-side

We could have called PageSpeed straight from your browser. We don't, for three reasons:

  • The API key stays ours. It lives on the Lambda, never in shipped JavaScript. Nobody can lift it and burn our quota.
  • The fetch is pinned. Before fetching anything, the function resolves the hostname and connects to the address it resolved — URLs with embedded credentials, unusual ports, or private network addresses are rejected outright. The scanner can't be turned into a proxy into someone's internal network.
  • Rate limits are per visitor. Each IP gets a small allowance, tracked in DynamoDB. One abusive script can't degrade the tool for everyone else.

03The honesty rules

A diagnostic tool is only worth trusting if it admits what it couldn't check. Three rules are baked in:

  • Unverified is not failed. If PageSpeed is unreachable or times out, those audits render as "we couldn't verify this" — never as invented problems to scare you with.
  • Locked findings are really locked. The free teaser shows about half the report. The higher-priority findings are held back server-side; they are not hidden in the page, they are simply never sent to your browser until the email unlock.
  • The report has a shelf life. The full result is stored compressed with an expiration, long enough for the unlock and follow-up flow — not kept forever.

04What we deliberately didn't build

No accounts. No dashboard. No "monitor all your sites" SaaS. The scanner has one job: show you, with evidence, what is actually wrong — and prove we know how to read a site before you ever talk to us. The business is fixing what it finds, not renting you another login.

Receipts
  • 153 Lighthouse audits on pixelpulsegroup.com, run 2026-07-31
  • PageSpeed Insights API v5 · 4 categories · server-side only
  • SSRF guard: DNS-pinned fetch; credentials, odd ports, private ranges rejected
  • Rate limit: per-IP, DynamoDB-backed with local fallback
  • Teaser split enforced server-side — locked detail never reaches the browser

The same lens is available for your site right now, free: run the site report. And if you'd rather read how it behaves on its own doctor, we scanned ourselves first.