Thinking
Intelligence is demonstrated, not claimed
Everything here comes from work we actually did, including the parts that went wrong.
Where we put the server, and why it was not the cheapest option
The cheap answer was Europe, and for most visitors it would have been invisible. We hosted in Johannesburg anyway, for the two things a CDN never caches.
When you have no case studies
Every new firm faces the same gap, and most of them fill it with something that is not quite true. There is a better answer, and it starts with leaving a section out.
The two readers
The person who signs and the person who evaluates want opposite things from the same page. Writing for one loses the other, usually silently.
The phone someone actually has
Mobile-first is usually a layout instruction. Treated as an engineering constraint instead, it changes what you are allowed to ship.
The fault that was already there
A version pin that had worked for months broke immediately in a new repository. Nothing had changed in the old one. That is the interesting part.
One entry per block, or four sources of truth
A headless CMS gives you a page builder. It also gives you four places to describe the same block, which drift apart within months. Here is the structure we used to stop that, and the bug it did not catch.
Ask what they are trying to accomplish
A contact form is usually the least designed thing on a website and the only one that carries the business. Treating it as a product changes the first question you ask.
A budget that only warns is not a budget
We wrote performance and accessibility budgets into an architecture document. Then we made them fail the build, and they immediately found something we had missed.