Back to all posts

An AI Can Generate Ten Landing Pages in a Minute. It Can't Tell You Which One to Ship.

·Lessons From the Trenches·5 min read

Last month I shipped puzzlywords.com — a Facebook web game ported to a standalone domain before Meta closes the platform on 2026-08-31.

The brief was small: don't look AI-generated.

That brief is harder than it sounds. Most landing pages produced with LLM help look the same — same radial-blur hero, same glass-morphism cards, same purple-to-pink gradient, same tilted phone mockup, same three-column feature row with emoji icons. None of those elements are wrong on their own. But when five of them show up together because the LLM defaulted to each one independently, the page reads as generic in a way users can sense even if they can't name it.

What got the project from there to shipped wasn't a better prompt. It was a process.

Slop isn't the element. It's the combination.

The first thing to fix in your head: radial blur is not slop. Glass-morphism is not slop. Bento grids are not slop. Each of these is a legitimate design choice in the right context. The final puzzlywords.com landing uses a radial-gradient background — the client explicitly asked for it back when an early variant dropped it. It fits because the rest of the page (chunky tile buttons, taped notes, brand-sampled palette, real screenshots) is coherent around it.

What reads as AI-default is the combination. Five-to-ten patterns that all show up together because the model defaulted to each one independently. Strip three of them and the rest stops feeling generic.

This matters because the natural reaction to "looks AI-generated" is to outlaw individual elements — no gradients, no blur, no bento. That's the wrong move. You end up with a sterile editorial layout that's also slop, just a different flavor of it. The right move is to make sure each element on the page is there because you chose it, not because it was the default.

Taste is still the creator's job

An LLM can produce ten variants in a minute. It can run a perf pass. It can write JSON-LD schema. It can quantize PNGs and emit WebP fallbacks. What it cannot do is tell you which variant is right. It can only tell you which is statistically common.

That part is you. Every elimination round in the process below is a human saying that one, not that one. The AI is the production line. You're the art director.

If you skip the picking, you ship the average of the variants — which is exactly what slop looks like.

In an era where producing a webpage costs nothing, the bottleneck is no longer production. It's discernment. Differentiation comes from the specific calls only someone with context can make: which one element carries the brand voice, which screenshot to use, which copy line is honest, which number to put on the stat card.

The elimination method

The fastest path past slop is subtraction, not creation. Three rounds.

Round 1 — 10 directions, 4 survive. Generate ten distinct, complete landing variants in one pass. Vary the direction, not the polish: minimal/editorial, bold/playful, app-store, dark-tech, magazine, brutalist, migration-first, bento, arcade, screenshot-hero. Each one ~100–150 lines of HTML. Build a gallery page with all ten as iframes scaled to 50% so they're comparable on one screen. The client names which ones die. Don't argue.

Round 2 — 50 panels, 10 survive. With four layouts on the table, switch from layout-thinking to language-thinking. Build one big grid of 50 small panel and button experiments — each one demonstrating a single styling treatment. Letter-tile, torn paper, ribbon, hexagon, ticket, banner, taped note, comic burst, coin, neon, brutalist, holographic. The client picks ten.

Round 3 — 10 skins, 1 winner. Take the winning layout from Round 1. Apply each picked style as a skin — same content, same structure, only the panel and button language changes. Same H1, same hero image, same feature blurbs. The only thing varying is the visual vocabulary. The client picks one.

A common over-correction in Round 3 is to combine two or three styles into a hybrid. Almost always worse than picking one. The page starts to feel over-designed — every element competing for attention. Keep the hybrid attempts in the archive so the client can see what they rejected, then move on.

The better move is accents. After the winning skin is locked, apply that style to one or two elements only, leaving the rest of the page clean. Torn-paper feature cards on top of an otherwise restrained layout reads as authored. Torn-paper everywhere reads as a theme park.

Voice is its own round

After the visual is locked, do another 4–6 directions for just the headline, the notice copy, the feature blurbs, and the SEO meta. Voice has the same blast radius as design — the same product can read as cult-y, warm, direct, or heritage depending on how the words are tuned. Pick one direction and apply it everywhere.

This is also where the SEO layer lands: the <title>, the meta description, the JSON-LD VideoGame schema, the FAQ structured data, the OG image. None of this is design work. All of it can be batched into one pass once the voice is chosen.

What this looked like in practice

Round 1 cut six of ten in under a minute — the client typed "1, 4, 5, 6, 7, 9 die" and that was it. Round 2 picked eleven panel concepts from fifty. Round 3 settled on a torn-paper / tape style called v02-50. Three hybrid attempts were rejected. The final landing applies the style only to the feature cards. Everything else — hero, stats row, FAQ, footer — is clean.

The whole sequence took one day. The result is a landing that reads as designed by someone, on a project where almost every pixel went through an LLM.


See the full visual breakdown — every round, every cut, every screenshot.


Need a landing page that doesn't look AI-generated? Book a call.

The Pragmatic Builder

Weekly frameworks and lessons from building with AI agents. No hype, just what works.

No spam. Unsubscribe anytime.