Most sites look finished on launch day. The real test comes a month later, when someone needs to change a price, add a page or fix a typo late in the evening. If the only people who can do that are the ones who built it, the company has not bought a website. It has bought a dependency.

Choose the platform for the people who will use it

There is no best platform in general, only a best platform for a particular team. A marketing team that updates pages every week needs a visual editor it is comfortable in. A product team with engineers may be better served by a framework and a headless content system. A small company with no one technical needs something hosted, boring and hard to break.

We ask who will be editing the site in a year before we ask what it should be built with. That one question rules out more options than any technical comparison.

Separate what changes from what should not

Good builds draw a clear line between content and structure. Headlines, images, team members, prices and articles are content: they should be editable by the people who own them, through fields designed for the job. Layout, components and brand rules are structure: they should be hard to break by accident.

When that line is drawn well, an editor can publish a new page that looks right without a designer checking it. When it is drawn badly, every change either needs a developer or slowly wears the design away.

Own the accounts from day one

Domains, hosting, analytics and design files should be registered to the client from the start, with the studio added as a user. It costs nothing to set up this way, and it removes the most common source of pain when a relationship ends: a company that cannot reach its own domain because the person who registered it has moved on.

The same goes for licences. Fonts, stock images and paid plugins should be bought in the client’s name, so the right to use them stays with the business rather than with whoever held the card.

Hand over more than a login

Handover is where many projects quietly fail. Credentials are sent, a short call happens, and the knowledge of how the thing works leaves with the people who built it.

A proper handover includes the source code in a repository the client owns, a written guide to the everyday tasks, and a record of the decisions that are not obvious from the code: why a plugin was chosen, what an odd setting does, where the fonts are licensed. It also includes a session where the client’s team makes real changes while we watch. Not a demonstration where we make them.

Build less, and build it properly

Custom features are expensive twice: once to build, and again every time the platform underneath them updates. We would rather ship a smaller site on well-maintained foundations than a clever one held together by code only we understand.

Every piece of custom code is a small promise to maintain it, and promises like that outlive the people who made them.

Where something genuinely needs to be custom, we document it more heavily, not less.

The goal is to be optional

We want clients to come back because they want to work with us again, not because they cannot change a heading without us. So we judge a build by what happens after launch: how quickly the team can publish, how rarely it needs help, and how easily someone else could pick the work up.

If we have done it right, calling us is a choice.

Back to the journal