GPP v3 — ranked findings

Preview: https://genuine-plumbing-pros-v3.pages.dev · QA'd by Nagatha (PC), 2026-04-21

Bottom line up front

Not shippable as-is. Four P0 blockers, any one of which kills launch:
  1. Fake phone number (630) 555-0000 appears 5+ times. First-touch CTA, header CTA, about-page CTA, footer. Every user who taps the phone button calls nothing.
  2. Placeholder plumber license IL Plumber License #058-XXXXXX (twice on About page). This is a legal/trust credential — can't go live with a fake number.
  3. Mobile nav is completely broken. Services / Service Areas / About / Contact pages exist but on mobile the nav is display: none and there's NO hamburger/toggle button. Mobile users cannot navigate anywhere except the home page.
  4. Hero photo is fundamentally broken as a hero. White H1 sits directly on a busy van photo with no scrim / darkening overlay — text crosses body panels, wheels, background trees, the overlaid badge. Headline readability goes to zero in at least 3 zones. The whole hero is the bug, not individual pieces of it.
Ship after these four are fixed.

P0 — SHIP-BLOCKERS

0. Hero photo is broken as a hero. [PROMOTED from P2 #9 after Wes flag, 18:02Z]
White H1 "SAME-DAY PLUMBING SERVICE IN THE CHICAGO SUBURBS" sits directly on a detailed full-bleed van photo. No scrim / darkening overlay. No clean backdrop zone. The H1 text crosses body panels, wheels, tree foliage in the background, AND the circular "GENUINE Plumbing Pros" badge overlaid at right. Readability collapses in at least 3 zones. The van photo IS the brand vehicle, so dumping it outright isn't right — but a hero with this much visual busyness under big white type needs either: I was scoring individual bugs (badge z-index, word overflow) and missed that the whole hero composition is the bug.

Fix: re-comp the hero. Options above. Cheapest: scrim overlay on left 60% at ~55% opacity, keep headline in that zone. Let the photo breathe on the right.
1. Placeholder phone number (630) 555-0000 is the site's primary CTA.
Appears 5+ times: header, hero CTA, About page CTA, footer, contact block. The tel: href on every CTA is tel:+16305550000. Every phone interaction from this site calls a fake number. 555-0000 / 555-XXXX is the Hollywood fictional-phone-number reserve — it is literally the industry-standard signal for "this is a placeholder." Every other issue on this report is a rounding error next to this one.

Fix: get the real phone from Wes → global replace across the site → verify tel: links also update.
2. Placeholder IL plumber license number #058-XXXXXX.
On the About page, twice: "Licensed · Bonded · Insured · IL Plumber License #058-XXXXXX". Shipping a live plumbing site with a fake license number is a legal/compliance risk — Illinois DFPR maintains a public license lookup; a fake number is immediately falsifiable. Beyond trust: in IL it's illegal to advertise plumbing services without a valid license number when one is claimed.

Fix: get Justin's real IL plumber license number → replace both occurrences.
3. Mobile nav is hidden with no toggle.
At 390×844 (iPhone 14), I scanned the DOM for menu buttons. Zero toggles. header nav has display: none applied via media query. The only visible interactive elements in the header are the logo (home link) and the phone CTA button. Services / Service Areas / About / Contact links exist in the DOM but visible: false. A user on mobile who wants to see a specific service area page literally has no navigation path except typing the URL.

Same class of bug as Shaw's original mobile-drawer issue last night — hidden items with no reveal mechanism.

Fix: add a hamburger button visible at <768px that toggles the nav. Standard pattern, 30-line CSS + 10-line JS.

P1 — HIGH

4. Five images render larger than their natural size — upscaled blur.
hero van-blank.png:              natural 1408×768 → rendered 1440×738 (+2% upscale, noticeable on retina)
slot-03-drain-grid-640.webp:     natural 475×332  → rendered 587×391  (+24% upscale)
slot-04-water-heater-grid-640.webp: same (+24%)
slot-05-leak-grid-640.webp:      same (+24%)
slot-06-sewer-grid-640.webp:     same (+24%)
Soft-looking service-grid tiles on desktop. On retina screens the blur is worse because the browser upscales from 475×332 to 587×391 CSS pixels THEN doubles that for the device pixel ratio. Effective native need is 1174×782 on retina — we're serving less than half that.

Fix: re-export service grid images at 1200w or 1600w → wire srcset / <picture> so mobile gets smaller, desktop-retina gets bigger.
5. 10 of 12 images have no srcset.
Every image is served at its one fixed size regardless of viewport. Mobile users on cell connections pull desktop-sized assets. LCP hit + bandwidth waste.

Fix: srcset on all non-decorative images. The van hero is the most expensive offender.
6. Zero lead-capture forms on the site.
document.querySelectorAll('form') returns 0 results. No contact form, no quote-request form, no appointment-request form. The site is phone-first: either call or text. That's a deliberate product choice possibly (plumbing is often phone-triggered), but most small-biz plumbing sites have at least a "request a quote" form to capture leads outside business hours.

Verify with Wes: is phone-only intake intentional, or is a form planned for a later iteration?

P2 — MEDIUM

P3 — STYLE / DIAGNOSIS

Desktop 1440 × 900

hero (above fold)

full page

Mobile iPhone 14 — 390 × 844

hero

full scroll

Priority punch-list

P0 (ship-blocker — all four before launch):
  [ ] 0. Re-comp the hero — scrim overlay OR cleaner photo OR split-pane. H1 currently unreadable over busy van.
  [ ] 1. Replace placeholder phone (630) 555-0000 with real number (5+ occurrences + tel: hrefs)
  [ ] 2. Replace placeholder license #058-XXXXXX with real IL plumber license
  [ ] 3. Add mobile hamburger nav (header nav is display:none at <768px with no toggle)

P1 (fix before ship):
  [ ] 4. Re-export service-grid images + hero van at retina-safe sizes
  [ ] 5. Wire srcset across 10 non-srcset images
  [ ] 6. Confirm phone-only intake is intentional OR add a lead-capture form

P2 (polish):
  [ ] 7. About page — add 3-4 H2 sections, expand to 300-500 words
  [ ] 8. About page — confirm zero-owner-mention is intentional (memory says one mention on About is allowed)
  [ ] 9. Fix logo-badge z-index clashing with hero H1 on desktop
  [ ] 10. Add alt text to remaining 2 images

Clippy-Work-1 (Nagatha) · 2026-04-21 · brutal pass per Wes request · hold ship until P0s resolved.