← all writing
2026-04-17 · 9 min read

I asked Claude Opus 4.7 to build me an Awwwards-worthy landing page. Here's the prompt.

Two prompts — a high-level one and a fully locked-in master prompt — that get an editorial, ultra-modern landing page out of Claude Opus 4.7 in a single shot, plus why each works.

What this is: Two prompts — one high-level, one extremely specific — that get you an editorial, ultra-modern landing page in a single shot from Claude Opus 4.7. Plus the thinking behind why they work.

The experiment

I was curious what the current frontier model could do if you gave it real creative latitude instead of pixel-perfect specs. Most "build me a landing page" prompts read like design documents — exact colors, exact fonts, exact spacing. That tests instruction-following. It doesn't test taste. So I tried two prompt styles on the same brief:

  1. A high-level prompt — vibes, constraints, a few "don'ts." Let the model make every meaningful decision itself.
  2. A master prompt — every decision pre-made. Typography, palette, motion, structure, copy. Essentially a design doc in prose.

Both should produce something shippable. But they test very different things — and if you're using AI to build real product, knowing which prompt style fits which situation matters.

Prompt 1 — The high-level version

Use this when you want to see what the model's actual design sense is. Output will vary run to run. That's the point.

Build a single-file HTML landing page for an invisible or abstract 
product — a fragrance house, a literary imprint, a record label, a 
tea merchant, a philosophy journal. Pick one. The product should 
not require photography to sell; it should be sold through language, 
color, and motion.

Aesthetic direction: ultra-modern editorial. Think the intersection 
of rauno.me's motion restraint, a Comme des Garçons press site's 
editorial confidence, and the typographic maximalism of an 
independent art magazine. It should feel like it was designed by a 
two-person studio in Paris or Tokyo, not generated.

Commit to a strong point of view. Avoid:
- Generic SaaS aesthetics (centered hero, three-column features, 
  purple gradients)
- Sans-serif-everything (Inter, Roboto, Space Grotesk)
- AI-obvious choices (neon glows, glassmorphism, isometric 
  illustrations, floating 3D orbs)
- Decorative animation that doesn't serve the concept

Commit to:
- Typography as the primary visual. Use a variable serif with 
  expressive axes (optical size, weight, italic) as the hero of 
  the page. Pair with one supporting typeface for metadata.
- Color as structure, not decoration. Full-bleed saturated panels 
  earn more trust than accent colors on white.
- A conceptual spine for the page — a metaphor native to the 
  product that organizes the sections. Don't default to 
  hero/features/pricing/CTA.
- Grain, noise, or texture that keeps flat colors from looking 
  sterile.
- Motion that feels physical and considered. Pick your spots — one 
  signature scroll-linked effect matters more than ten 
  micro-interactions.

Technical:
- Vanilla HTML, CSS, JS. No build step.
- GSAP + ScrollTrigger for orchestration
- Lenis for smooth scroll
- Google Fonts only
- Responsive down to mobile

Include real editorial copy. No lorem ipsum, no "elevate your 
senses" marketing language. Write like a human with a point of view. 
Dates, prices, place names, numbered editions — the small details 
that signal a real brand.

One HTML file. Treat every decision — typeface pairing, palette, 
structural metaphor, motion choices, copy voice — as yours to make. 
The only wrong answer is playing it safe.

Why this prompt works

It specifies the problem, not the solution. "Invisible or abstract product" is a constraint that forces the model to pick something where its design instincts actually matter. A sunglasses brand would let it lean on product shots. A fragrance or literary imprint forces it to solve with typography and color alone.

The "avoid" list is doing heavy lifting. Design quality from LLMs is mostly about what they don't reach for. Banning Inter, purple gradients, glassmorphism, and isometric illustrations eliminates ~80% of generic output. The "commit to" list then gives permission to be bold in the remaining space.

"The only wrong answer is playing it safe" — LLMs default to hedging when given creative latitude. That closing line explicitly flips the incentive.

What to expect

Run this on Claude Opus 4.7 and you'll get a fully-formed brand concept — not just styling. In my runs I got a niche fragrance maison called SÈVE structured around the three acts of a perfume (top, heart, base), a literary imprint with a three-part manifesto structure, and a tea merchant organized around the six Chinese tea families. Each with its own palette, typography, and copy voice. Variation is the point. If the model picks the same concept twice in separate sessions, it's pattern-matching, not reasoning about the brief. Opus 4.7 doesn't do that here — genuine different outputs.

Prompt 2 — The master prompt

Use this when you want a specific, reproducible output. This is the version you'd use in production — when you've already decided the direction and you need the model to execute it precisely. This prompt is built around one concept (SÈVE — a fragrance house) and locks in every decision.

Build a single-file HTML landing page for SÈVE, a fictional niche 
fragrance house. Production-grade, ultra-modern editorial aesthetic 
inspired by rauno.me, Comme des Garçons press sites, and Awwwards 
SOTD winners. Use vanilla HTML/CSS/JS — no React, no build step.

BRAND CONCEPT
SÈVE is a slow-craft perfume maison. Tagline: "Composed slowly." 
The landing page is structured like a fragrance itself — three 
acts: Top (Tête), Heart (Cœur), Base (Fond). Each act is a 
full-bleed saturated color panel representing a scent. No product 
photography of bottles. Materials only.

Voice: editorial, confident, slightly cold. Uses em-dashes. 
Capitalizes French words. Roman numerals for dates. Prices in 
euros (€220–€340).

TECH STACK (CDN only, no npm)
- GSAP 3.12.5 + ScrollTrigger (cdnjs)
- Lenis 1.1.13 smooth scroll (jsdelivr)
- Google Fonts: Fraunces (variable, with opsz/SOFT/WONK axes) 
  + JetBrains Mono (300, 400, 500)
- Inline SVG noise filter via data URI (fractalNoise, 0.9 
  baseFrequency, 0.08 alpha, mix-blend-mode: multiply)

TYPOGRAPHY
- Hero title: Fraunces, weight 300, clamp(5rem, 25vw, 26rem), 
  line-height 0.82, letter-spacing -0.06em. One accent character 
  italic + different optical size + colored.
- Panel titles: Fraunces 300, clamp(4rem, 14vw, 14rem). One 
  letter per title italic with opsz 9.
- Body: JetBrains Mono, 0.75rem, letter-spacing 0.05em, 
  line-height 1.9, opacity 0.75.
- Labels: mono uppercase, 0.65rem, letter-spacing 0.25em.
- Metadata prefixed with em-dash.

COLOR SYSTEM
--ink: #111110 (warm near-black)
--paper: #f4efe6 (warm cream, not white)
--accent-top: dusty peach (bergamot)
--accent-heart: cadmium red (rose oud)
--accent-base: deep forest (vetiver)

Each scent panel takes over 100vh with its accent color as 
full-bleed background. Text inverts (paper on dark, ink on light).

PAGE STRUCTURE
1. Fixed nav with mix-blend-mode difference (inverts against 
   every background)
2. Progress bar — 2px, scrubs with scroll, mix-blend difference
3. Hero — meta labels, massive title with per-char hover, three-
   column footer (subtitle / body / CTA)
4. Three scent panels — each 100vh, 12-col grid: label top-left, 
   Nº top-right, huge title + price, quote + notes left, editorial 
   image + secondary image right, ingredients + buy bottom
5. Marquee between panels — Fraunces at 8vw, infinite horizontal 
   loop, scroll velocity couples to speed
6. Philosophy section — image + large italic manifesto paragraph
7. Contact sheet — 8-cell grid, grayscale default, color on hover
8. Footer — giant ghost "brand name" behind link columns

MOTION SYSTEM
- Lenis smooth scroll (duration 1.4, custom easing)
- Custom cursor with gsap.quickTo lag-follow, expands 6x on panel 
  hover, shows contextual label
- Hero char stagger (0.12s, power4.out)
- Scroll-linked variable font weight (wght 200 → 400) on panel 
  titles as they enter viewport — signature detail
- Clip-path image reveals (inset 0 0 100% 0 → inset 0)
- Counter-parallax between primary and secondary images
- Marquee timeScale coupled to ScrollTrigger.getVelocity()

CRITICAL DETAILS — DO NOT SKIP
- Noise overlay via SVG data URI, mix-blend multiply
- Warm paper bg (#f4efe6), never pure white
- Warm ink (#111110), never pure black
- French accents preserved, Roman numeral dates
- Em-dashes instead of colons for metadata
- Grain is non-negotiable — it's what keeps flat colors from 
  looking AI-generated

Single HTML file. Ship it.

Why this prompt works

Version-lock the dependencies. "Use GSAP" gets you GSAP 3.x whatever. "Use GSAP 3.12.5 from cdnjs" gets you a version that actually works with the Lenis version you specified. Version-locking eliminates the "it compiles but nothing animates" failure mode.

Put the non-negotiables last. LLMs drop subtle details when building large single-shot outputs. The "CRITICAL DETAILS — DO NOT SKIP" block at the end primes the most important constraints into short-term memory before the model starts generating.

Describe motion by what it feels like, not just what it does. "Scroll-linked variable font weight animation from wght 200 → 400 as panel enters viewport — signature detail" is more useful than "animate font weight." The framing of why a motion exists shapes how the model implements it.

On Claude Opus 4.7's capabilities — what actually changed

A few honest observations from using this for real design work. Not a benchmark post.

Taste under ambiguity. The high-level prompt is where the capability gap really shows. Ask Opus 4.7 to build something editorial with latitude, and it will reach for Fraunces or Instrument Serif, pick a warm off-white over pure white, use mix-blend-mode: difference on navigation, add a noise layer without being asked. These are the exact decisions a designer who reads It's Nice That would make. It doesn't pattern-match to "landing page design" — it pattern-matches to "what would the Are.na crowd do here."

Motion orchestration. Earlier Claude models could write GSAP code. Opus 4.7 can write GSAP code that feels right — knowing when to use power3.out vs power4.out, when scrub:1 serves the moment vs. scrub:0.5, when a stagger should be 0.08s vs 0.15s. These micro-decisions are what separate "it animates" from "it feels expensive."

Long single-shot outputs. A full landing page with 600+ lines of HTML/CSS/JS in one generation, with no dropped details between the opening and closing braces. Earlier models would forget the responsive breakpoint by the time they got to the footer. Opus 4.7 holds the full composition in its head.

The specific detail it got right that surprised me: scroll-linked variable font axis animation. I didn't explicitly ask for it — the high-level prompt just said "variable serif with expressive axes." It inferred that a variable font in 2026 is meant to be animated and wired it into ScrollTrigger without prompting. That's taste, not capability.

Where it still needs handholding. Copy. The default voice is still mildly "AI editorial" — a bit too self-aware, a bit too "crafted for those who understand." I rewrite about 40% of the copy from the master prompt version. The high-level version tends to be better here because the model isn't trying to nail a specific brand voice it's been over-briefed on.

The prompt size threshold. On Opus 4.7, both prompts single-shot reliably. On smaller/older models (Sonnet 3.5, GPT-4o), the master prompt works but the high-level one collapses into generic output. The capability being tested is really restraint — knowing when not to add a feature, when not to reach for a cliché. Smaller models can't resist.

How to use this

If you're shipping a real brand

Start with the high-level prompt. Generate 3-5 variations. Pick the concept and direction you like. Then write your own master prompt locking in the decisions you want to keep. The best output isn't either prompt on its own — it's the high-level prompt's concept refined into a master prompt you can iterate on.

If you're learning

Run the high-level prompt on two or three different models. Watch how taste differs. Claude Opus 4.7, GPT-5, and Gemini 2.5 Pro will each pick different products, different metaphors, different palettes. That comparison is more educational than any design blog.

If you want to remix

Swap "fragrance house" for your actual domain. A niche coffee roaster, a Kashmiri textile label, a Vedic astrology imprint, a record label. The structural advice (typography-first, color as structure, conceptual spine) generalizes. The specifics don't.

Further reading from me

If you remixed this, send me the URL. I'd genuinely like to see what domain you applied it to. DMs open at @deepika.builds.