Every brand I build is built the same way. Here is the way.
Nine steps, in order. Each one makes a decision, writes it down as a file you keep, and refuses to run until the step before it is done. Nothing here is a secret. The work is in the judgement, not in withholding the method.
Why this is published
A method you can read is a method you can hold me to
Most studios describe their process as a diagram with four soft words in it — discover, define, design, deliver — and the client finds out what actually happens as it happens. That is not a process, it is a shape.
This is the real one. It is the same sequence I ran on my own brand, on Sèche, and on this site. Each step names what it reads, what it decides, what it produces and what it will not do. If you want to know what you are paying for before you pay for it, this is that document. If you want to run parts of it yourself, that is the point.
The library
The nine
00
The gate · Required
Brand foundation
Finds what is already true about your brand and writes it down once, so that every decision after it has something to be accountable to. If you already have it — under any name, in any shape — it is read and used. If it is thin, we sit down for ten or fifteen minutes and make it real. It is never guessed.
Decides
- What you are for, and what you are against
- The pillars — the few things that are non-negotiable
- Who this is actually for, in their own words
- How you sound, and the words you never use
- The one thing someone should remember
You keep
brand-foundation.jsonbrand-foundation.md
One machine-readable, one written for a person. Any tool can read the first. You can read the second.
It refuses to design anything until this exists, and it refuses to fill a gap with something plausible. A confident invention at step zero is a wrong decision that eight later steps will faithfully obey.
One document, four to seven hundred words, written the way a director writes a treatment: the opening image, the world your visitor is living in before you arrive, the turn, what unfolds as they scroll, the closing image. Everything built afterwards has to justify itself by pointing at a beat in it.
Decides
- The first four seconds
- What the visitor is tired of when they land
- The moment you enter, and what changes
- Where the one memorable thing lands
- The section map — six to twelve, in order
You keep
The second only for sites with more than one page: what each page is for, and why it exists.
It refuses to overwrite your writing. If you have already written the story, it is read and used as it stands; where a beat is genuinely missing it is extended, and the log records exactly which sentences are mine and which are yours.
02
Decided with 03
The visual world
Colour, texture, motion and imagery decided in one sitting rather than four, because they only work as a set. It opens by naming — in a single sentence — the one visual moment a person will still be able to describe after they have closed the tab. If that sentence cannot be written, the foundation was not ready and we go back.
Decides
- The one moment everything else serves
- One dominant colour, one or two accents, five named roles at most
- At most two texture moves, committed to
- How things move, and how fast
- What the pictures are of, and what they are never of
You keep
visual-world.mdtokens.jsonmoodboard/
The tokens are the important one — the palette and scale as data, which is what stops a brand drifting two years later.
It refuses a five-colour palette used carefully. One decisive colour beats five careful ones, and a palette that needs care is a palette nobody will maintain.
Typefaces found by looking, not by picking off a list — hunted live against your voice, the thing you are against, and the era you belong to. Then actually acquired: every face verified against a real specimen, licensed properly, downloaded or staged, wired up, and logged.
Decides
- The one typographic decision that gets remembered
- The cast — usually two families, four or five weights
- What each face is for and where it is never used
- What must be bought before launch, and what it costs
You keep
typography.mdfonts/fonts/LICENSES.md
The ledger lists every face: where it came from, what the licence permits, whether it can ship, and who has to buy it.
It refuses Inter, Roboto, Arial, Helvetica Neue and system sans as your primary face — those are the sound of no decision having been made. It refuses to propose a font it has not seen set. And it will never tell you that editing a paid font makes it yours, because it does not.
Every word on the page — headlines, body, buttons, the text nobody notices, alt text, the error message, the empty state, the page that appears when something is missing. Written against your voice, taken from your own writing: your rhythm, your punctuation, whether you say “I” or “we”, whether you are dry or warm, whether you hedge.
Decides
- The headline, and the sentence under it
- What every button says — never “Learn more”
- The proof, in your clients’ real words
- The small print that still sounds like you
You keep
Every string in one file, keyed by section — so changing a line is changing a line, not hunting through a codebase.
It refuses your banned words, invented pricing, and fabricated client quotes. If there is no real testimonial, the section does not exist yet.
The site itself, made only from decisions already taken. Where a section needs a specialist — a scroll sequence, something in three dimensions, a hero that has to carry the whole idea — that section is briefed out with the palette, the type, the copy and the story beat attached and locked. Specialists polish inside the world. They do not get to redecide it.
Decides
- Layout and composition at every width
- How the motion is actually implemented
- Which sections earn a specialist
- Where the stack deviates from the default, and why
You keep
src/public/implementation-notes.md
The whole codebase, plus a written record of every stack decision and every deviation.
It refuses new colours, substituted fonts and magic numbers. If a section seems to need something outside the tokens, the answer is upstream — the visual world was wrong, and that is where it gets fixed.
06
The unglamorous one
Findable, fast, and legal
The part that gets skipped, done properly and in one pass because these three things pull against each other and have to be balanced together rather than sequentially. Semantic markup a screen reader can read as a document. Meta and share images that are designed rather than screenshotted. Structured data. Weight, speed, and the legal pages every site is supposed to have.
Decides
- How the page reads to a machine
- What it looks like when someone shares it
- What it weighs and how fast it paints
- Privacy, terms, accessibility — drafted, marked as drafts
You keep
sitemap.xmlrobots.txtog-image.pngproduction-report.md
With the real numbers in it, not a claim that it is fast.
It refuses to write its own copy. Every visible string here — titles, descriptions, the share text — comes back from step 04, because search copy written by an optimiser is exactly how a brand starts sounding like everyone else.
The finished site opened in a real browser at eight widths and measured, not looked at. Three questions per section: could this sentence appear on a competitor’s site? Does anything here fight the thing you are against? Would a new hire reading this cold understand what you stand for? Plus ten typographic rules run over every block of text — widows, measure, leading, rag, contrast, and whether a high-contrast serif has been reversed out of a dark ground too small to survive it.
Thresholds
- Banned words: zero
- The thing you’re against: present somewhere
- The memorable thing: carried by a section
- Type violations: zero, at 360 through 1920
You keep
quality-log.mddecisions.mdscreenshots/
The decision log is the one worth reading — every real choice, why it was made, and what was rejected.
It refuses to hand you a list of problems. A failure re-runs the step that caused it — a voice failure goes back to 04, a spacing failure to 05 — and the site is re-measured. It stops when the thresholds pass or when something genuinely cannot be fixed, in which case that is written down plainly.
The step that decides whether you have bought a website or a capability. How you edit it, recorded task by task as short walkthroughs. A library of prompts built on your own foundation file, so what you produce next year still sounds like you. What you own and where it lives. What to check each month. What to do when something breaks.
Decides
- Whether you need a CMS at all — often you don’t
- How each kind of edit is actually made
- The prompts you keep using afterwards
- What breaks, and what to do about it
You keep
handoff/prompt-library.mdrunbook.mdloom-scripts/
Plus the recordings themselves — yours, kept, watchable in eighteen months when you have forgotten.
It refuses to be skipped, and it refuses to ship a prompt library without examples in your own voice. A prompt with no example produces the statistical middle, which is the thing all eight previous steps existed to avoid.
Questions people ask
Four honest answers
Doesn’t publishing the method give it away?
The sequence is not the hard part. Knowing that a five-colour palette is a decision nobody made, or that a section which could sit on a competitor’s site has failed, is the hard part — and that is judgement, which does not transfer by being read.
Is this AI doing the work?
AI carries the repetition: the measuring, the checking, the eight widths, the drafting. Every decision in the nine steps is one you and I make, on the record, in a file with your name on it. A system with nobody’s taste in it produces the average, and the average is the thing you are trying to escape.
Why can’t a platform do this?
A platform reads what your site already looks like and optimises towards it. That is genuinely useful once you know what you are saying. It cannot decide what you should say, because deciding requires having a point of view, and a system trained on everybody’s website has everybody’s.
What if I already have half of this?
Then we use it. Step 00 reads what exists, whatever it is called, and only fills what is genuinely missing. Nobody is charged to re-decide something they already decided.