·

AI Got to 80% on the Landing Page. The Last 20% Needed Domain Knowledge.

I had Claude build a landing page. Two versions, clean-looking, almost shipped. Then I caught an invisible-CTA specificity bug, a silently-dropped font import, a contact form that would have routed…

I had Claude build me a landing page. Two versions. They looked clean. I almost shipped — and then I started reading the code.

Here’s what I caught:

  • Every CTA button was invisible. .brand-page button { background: none } wiped them all — white-on-white. A CSS specificity bug: .brand-page button (0,1,1) beat .ai-form-submit (0,1,0).
  • The brand font silently never loaded. The @import for Poppins sat after :root {}. The CSS spec drops an @import that isn’t the first rule — so the whole page rendered in system-ui.
  • A contact form that would have routed 100% of leads to the wrong CRM queue. Wrong campaign ID, a missing auth token for a required compliance field, no E.164 phone normalization, no real country dropdown. The skeleton was right. The contract wasn’t.
  • Eight FAQs that Claude invented because the source doc didn’t include any.

A 14-check static QA script caught the rest: nested HTML comments, em dashes in CSS comments, duplicate analytics labels, z-index drift. None of those would have failed a visual review.

The pattern

AI gets to 80% fast. The last 20% — wrong campaign ID, broken specificity, a missing auth token — needs domain knowledge.

Use it like a fast junior on a senior team.

What’s the last AI-generated thing you caught right before it shipped?