One-pager · for design teams

The Adaptive Brand

Coherence used to be enforced by how slowly we could make things. Generation removed that constraint. What the bottleneck enforced, the system must now guarantee.


The shift

Before

Every surface passed through us. Production was slow, and that slowness was the quality control.

Now

Copy, layouts, and flows are generated per user, per market, per channel. Consistency is an architecture problem, not a discipline problem.

The core idea

Generate every surface. Govern one system.

What that requires

  1. One source of truth the generators can read. A design system a model cannot read is a memo, not a system. Tokens, patterns, voice, and rules as files, not slides.
  2. Behaviors, not responses. Design the recurring behavior once (explain, confirm, repair, recover) and let it render everywhere.
  3. On brand as a contract, not a vibe. Checkable: this claim is never made, this register never appears, this disclosure always does.
  4. One promise, every surface. The channel changes the clothes, never the commitments. Chat, SMS, the app, and a third-party assistant should all say the same true thing.
  5. Localization at cluster level. A few voice profiles, not one per country, or the maintenance cost grows with every launch.

Declarative UI is where this stops being a metaphor

When agents emit a tree of components against a catalog we own, rather than raw code or raw prose, the machine-readable design system becomes literal. The catalog is the vocabulary and it is ours. The composition is the expression and it is the model's. On brand stops being a review of the output and becomes a property of the tree: this node is present, in this order, outside any collapsed container.

01 Catalog

Components, required props, composition rules, tokens, voice. The design system, made readable.

02 Composition

The agent arranges components for this person, channel, and market.

03 Gate

Structural check on the emitted tree, before anything renders.

04 Render

Our surface: rules enforced. Someone else's: rules requested, not guaranteed.

Gate fails, the pre-approved fallback tree ships instead.

One disclosure, as three artifacts
// catalog/PriceDisclosure.yaml   the design system, made readable
tokens:   [type.body, color.ink, space.tight]
variants: [inline, stacked]
voice:    neutral-es | voseado-es | en
never:    [collapsed, belowFold, restyled]

// what the agent emits, per person and per market
- PriceDisclosure: { variant: inline, voice: neutral-es }
- ConfirmAction:   { label: catalog.confirm.send }
                   // a label, not free text

// checks/brand.rules
disclosure precedes the action   → pass
every label resolves to catalog  → pass
register matches market profile  → pass
anything else                    → pre-approved fallback
Rendered: neutral-es, inline

Estás por enviar $350.00 a María López.

Comisión $4.99 · Cambio 18.90 · Recibe MX$6,615

Confirmar envío
Rendered: en, stacked

You're sending $350.00 to María López.

Fee
$4.99
Rate
18.90
She receives
MX$6,615
Confirm and send

One catalog entry, one set of commitments, two surfaces. The variant and the register change. The fee, the rate, and the received amount do not, because the catalog will not render the component without them. Three things worth noticing. The voice varies at cluster level, so one market profile serves many countries. The action label resolves to a catalog key rather than free text, because a generic button with a writable label is a hole in the system. And on brand is now a check that runs, not a meeting that happens.

How the craft changes

The old way
Draw the screen

Every state drawn by hand, in a file.

Hand off

Spec, redlines, a ticket.

One screen ships

Everyone sees what was drawn.

Coherence came from the bottleneck. Everything passed through us.

The agentic way
Define the catalog

Components, rules, voice, fallbacks.

The agent composes

Per person, channel, language, market.

The gate checks

Required nodes, in the right order.

Many surfaces ship

None of them drawn by hand.

Coherence comes from the catalog and the gate. Nothing passes through us.

We stop designing the output and start designing the space of allowed outputs.

Write the taste down, then test against it

An eval is a rubric made executable, attached to a behavior rather than a prompt. Does the explanation state the fee before the consent control appears? Does the recovery message avoid opening with an apology? Each is checkable across a hundred generated variants, which is the only scale at which checking now matters.

Metrics decide winners; evals decide entrants. A variant that converts beautifully while breaching a disclosure rule is not a winner. It is an incident with good numbers.

Floors and dials

The on-brand score is a dial, and it should climb as the voice artifacts and their evals improve. The brand commitments are floors: the claim never made, the register never used, the disclosure always shown. Floors are never averaged away and never traded for conversion.

What changes for us

  • Deliverables shift from artifacts people look at to artifacts machines read.
  • The rubric becomes a first-class deliverable. The criteria are the craft.
  • Decisions get logged, or they get made again, differently.
  • We break it on purpose, so failures stay small, legible, and repairable.

The question to ask

If we generated a thousand versions of this tomorrow, what would we be embarrassed to see, and where is that written down?

Full argument: The Adaptive Brand. Companion one-pager: Conversational Design Systems. Print-styled for handouts.