Make your AI-generated website look designed, not generated.
Your vibe-coded site works. It just looks like every other AI-built page on the internet: same font, same gradient, same cards. The problem isn't your agent — it's that nobody gave it taste. Here's the framework that fixes it, with copy-paste tokens and prompts.
Why every AI-built site looks the same
AI coding agents are trained to produce the most statistically safe output. Left without constraints, Codex, Claude Code, Cursor, Bolt and Lovable all converge on the same defaults:
- Inter or system-ui for everything — one font, one weight axis, zero character.
- The blue-purple gradient hero with a centered headline and two buttons.
- Three-column card grids with soft shadows and rounded corners for every feature list.
- Emoji bullets and "Lorem-flavored" copy — ✨ 🚀 ⚡ in place of a point of view.
- No spacing system — margins that are close-but-not-quite consistent everywhere.
Visitors can't articulate it, but they pattern-match it in under a second: this is a template, nobody's home. For a product asking for money or an email address, that's a conversion tax on every visit.
The fix: hand your agent decisions, not adjectives
Prompting "make it look better" or "make it pop" fails because the agent has no way to resolve an adjective into pixels. What works is handing it a small set of non-negotiable decisions — design tokens — and telling it to apply them everywhere. Five decisions carry almost all of the perceived quality:
Commit to one palette with a real accent
One warm or cool neutral family for backgrounds and text, plus a single saturated accent used sparingly (primary buttons, highlights, one signature element). Kill the gradient. A useful test: if you screenshot your site in grayscale, the hierarchy should still read.
Pick a deliberate type pairing
A characterful display face for headlines (a serif like Fraunces or Instrument Serif, or a grotesque like Space Grotesk or Bricolage) paired with a quiet body face (Inter is fine as a body font). Set headline letter-spacing slightly negative, line-height under 1.1, and use real weight contrast — 900 next to 400, not 600 next to 500.
Choose one shape language
Radius, borders and shadows are a language: pick one dialect. Sharp corners + hard offset shadows reads editorial and confident. Large radii + soft diffuse shadows reads friendly SaaS. 1px visible borders + no shadow reads technical. Mixing dialects is what makes pages feel "off" without anyone knowing why.
Add one signature move
One repeatable, ownable detail: a hand-drawn underline on key words, a marker-highlight on numbers, hard-offset button shadows, a dot-grid background texture, an oversized serif ampersand. One move, used consistently, is the difference between "clean template" and "someone designed this."
Rebuild the hero around a claim and proof
Delete the generic "Supercharge your workflow" headline. State the specific outcome, in your voice, then put evidence within the first viewport: a real product shot, a number, named users, or a before/after. Every high-converting SaaS hero is a claim plus proof; AI defaults give you a slogan plus buttons.
Copy-paste starter: tokens your agent can apply
Drop this into your project as tokens.css (or hand it to your agent) and instruct it to derive every color, font and shadow from these variables — no hardcoded values anywhere else:
:root {
/* palette — one neutral family + one accent */
--bg: #f6f2ea; /* warm paper, not #ffffff */
--surface: #fffdf8;
--ink: #1a1714; /* near-black with warmth, not #000 */
--ink-soft: #3c352d;
--muted: #6c6256;
--line: #e4dccd;
--accent: #de5a4f; /* ONE saturated accent */
--accent-dark: #b8423a;
/* type — display + body pairing */
--font-display: "Fraunces", ui-serif, Georgia, serif;
--font-body: "Inter", ui-sans-serif, system-ui, sans-serif;
/* shape — pick ONE language and stick to it */
--radius: 11px;
--shadow: 4px 4px 0 var(--ink); /* hard offset: confident */
/* spacing scale — only these values */
--s1: 8px; --s2: 16px; --s3: 24px; --s4: 40px; --s5: 64px; --s6: 96px;
}
Then give your agent an instruction like this instead of an adjective:
Apply tokens.css across the whole site. Rules:
1. No colors, fonts, radii or shadows outside the tokens.
2. Headlines use --font-display at weight 900, line-height 0.95,
letter-spacing -0.015em. Body uses --font-body.
3. All spacing must come from the --s scale.
4. Exactly one accent-colored primary action per screen.
5. Replace emoji bullets with typographic markers.
6. Add the signature move: a marker-style highlight
(background linear-gradient, bottom 40%) on one key phrase
in the hero and one number in pricing.
Why this works: the agent stops guessing. Every visual question ("what color? how round? how much space?") now has exactly one legal answer, which is the same discipline a human design system enforces.
Where taste actually comes from
The framework above tells you how to apply decisions — it can't tell you which palette, pairing and moves suit your product. That's the part people call taste, and there are three honest ways to get it:
- Develop it — years of looking at and making design. Best option, slowest.
- Copy one site you love — works, but you inherit choices made for someone else's product and audience.
- Borrow from what's proven — start from patterns used by startups whose landing pages demonstrably sell.
The third path is what BuildTaste packages: 29 complete taste systems — palette, real Google Fonts pairing, shape language and signature move — drawn from 100 revenue-verified startups, plus hero and pricing strategies from their real pages. You pick visually, tune it live, and export an organized ZIP with README, manifest, brief files, theme files, sections, app examples and integration notes your agent applies in one pass. It's the framework on this page, pre-decided and ready for your AI agent.
FAQ
Why do all AI-generated websites look the same?
Because agents default to statistically safe choices — Inter, blue gradients, card grids — whenever design constraints are missing. Same defaults in, same site out.
Does this work with Cursor, Claude Code, Bolt or Lovable?
Yes. Tokens and explicit rules are agent-agnostic: anything that can edit CSS can apply them. The prompt block above works as-is in any of these tools.
Do I need design skills?
No — you need consistent decisions. Pick (or borrow) one palette, one pairing, one shape language and one signature move, then let your agent enforce them.
What's the single highest-impact change?
The type pairing. Swapping default fonts for a deliberate display + body pairing changes the perceived quality of every section at once.