How this site
was actually built.
01 — ConceptThe lookbook as an exhibition
VESTIGE is a fictional avant-garde house; Ghost Archive is its FW26 collection, built on one idea: a vestige is what remains after the thing is gone. Every design decision serves that idea — the fog, the bone-on-off-black palette, garments "re-cut from memory," and copy written as a curator's essay instead of marketing. The single oxblood accent (#5e1a1a) is rationed like the collection rations color: once per look.
02 — The photographyOne shot list, six frames
All imagery was generated with Nano Banana 2 (Gemini image model, via the kie.ai API). Cohesion came from prompting like a photographer, not a search box: every prompt shares the same fixed clauses — "medium format film photography, desaturated palette of bone, ash grey, off-black, soft directional light from high left, heavy atmospheric haze, fine film grain" — and only the subject clause changes. Six frames, one world. Each was then resized and recompressed with sips to keep the page under a megabyte per image.
03 — The buildStatic files, three libraries of zero
No framework, no build step: one index.html, one stylesheet, one script. Type is Bodoni Moda (didone display) and Archivo (quiet grotesk), served from fonts.bunny.net. Motion is GSAP 3.12 + ScrollTrigger from jsdelivr, doing four specific jobs:
- Clip-path unmaskImages reveal by animating
clip-path: inset()from a cropped frame to full bleed — the photograph "develops" as it enters the viewport. - Horizontal lookbookThe plates section pins and translates a
width: max-contenttrack sideways, with per-plate reveals driven bycontainerAnimation. Under 900px it degrades to a native scroll-snap strip. - Parallax cropsOversized images inside
overflow: hiddenframes drift on scrub, so every crop feels hand-placed. - Blend-mode typeThe hero title and the drifting word remain sit in
mix-blend-mode: exclusion / difference, letting fog pass through the letterforms.
prefers-reduced-motion disables the whole GSAP layer; the page is authored fully visible first, so the static version is complete, not broken.
04 — IterationThree passes, screenshots read back
The site was served locally and screenshotted headlessly (desktop top/mid/end plus 390px mobile) after every pass. Pass one caught real flaws: the interstitial word clipping at the viewport edge, uneven baseline alignment in the lookbook meta columns, and a stockists grid that collapsed poorly at 390px. Pass two tightened type scale and spacing rhythm. Pass three caught what the first two missed — a marquee band shipped with no CSS at all, a finale whose captions failed contrast against bright fog — and finished with grain, contrast checks on every caption, and console-error zero.
05 — Reproduce itThe prompt that matters
To have an AI agent build something like this, don't ask for "a beautiful fashion site." Give it a world and constraints:
"Build a cinematic lookbook for a fictional avant-garde house. Palette: off-black, bone, one oxblood accent. Didone display over a quiet grotesk. Generate six photos from ONE shot list with identical lighting and grading clauses. Use GSAP for clip-path unmasking, a pinned horizontal lookbook, and parallax crops. Write the copy as a curator's essay. Screenshot, critique yourself, and iterate three times."
The last sentence is the one that changes the outcome.