Insights · Brand systems

A brand system as a machine-readable spec

The usual brand deliverable is a document plus the studio's availability. This one is a specification and a generator, and it is how our own brand is produced.

The problem with a brand book

A brand book is a PDF describing decisions. It cannot make an asset. So every new size, every new social format, every new locale goes back into a queue, and the queue has a designer in it.

The failure mode is not that the assets are wrong. It is that six months in, the deck template, the website and the social account have quietly drifted apart, because each one was made by a different person reading the same PDF on a different day.

What we do instead

  • The rules live in version control as a written specification, not as a document describing a document
  • One generator reads that specification and emits every asset
  • Renditions are produced at every size and format the business actually uses
  • A human signs off where a decision matters; everything downstream of the decision is automated

What that changes

Drift becomes impossible

Two assets cannot disagree if both were produced by the same build from the same source. Consistency stops being a discipline and becomes a property.

A new format is a parameter

Adding a size is a line in the spec and a re-run, not a brief and a wait.

The brand is reviewable

A specification can be diffed. You can see exactly what changed between two versions of the identity, which a PDF cannot show you.

It survives the designer

The team can produce correct assets without the person who designed them being available.

What it does not solve

It does not make the design decisions. A generator is downstream of taste, and a badly drawn mark rendered at forty sizes is still a badly drawn mark.

It also has a real failure mode of its own: when the generator drifts from the spec, every asset it produces is confidently wrong. Ours did exactly that — the generator kept drawing a wordmark the identity had already retired, and because the output looked finished, nothing flagged it. The lesson is that the spec has to be the thing you check against, not the output.

Disclosure

Why this one is different from the others here

This is the only piece on this site with a finished artifact behind it. The rest of the writing here describes work we do; this describes work already done, on ourselves. That is the honest ranking, and it is why this piece was published first.

Send us the problem

Describe what is stuck. We will come back with an architecture, a timeline and the first commit.