[ XO journal ]

Notes on useful software.

Short essays, product thinking and practical notes from the studio.

Selling into a second country: what changes besides the language

Translation is the cheapest part of going cross-border and the most overrated. The expensive parts are payment habits, delivery and returns, and whether a stranger in another country has any reason to trust you.

The five numbers to check every month — and the ones to ignore

Your analytics has hundreds of numbers and about five that should change a decision. Here are the five, how to read them, and the popular ones that mostly waste an afternoon.

Redesign without losing your traffic

Redesigns rarely lose traffic because of the design. They lose it through addresses and missing content — and both are preventable with a list you write before anyone opens a design tool.

What AI is genuinely good for in a small business — and where it quietly costs you

Two camps, both useless: it changes everything, or it is a toy. The useful question is narrower — how expensive is a wrong answer, and can you check it faster than doing the work yourself.

Accessibility stopped being goodwill and became a condition of selling in Europe

For consumer-facing digital services in the EU this moved from good practice to a market-access question. What gets checked first, what can be fixed in a day, and why automated tools catch less than half of it.

The cheap website that costs the most: what breaks, and when

We usually get the call around month fourteen. Here is the timeline of a cheap build — what fails at three months, at a year, at two — plus the five signs you can spot before you buy, and the three cases where cheap is the right answer.

Where online stores lose buyers between the product page and the thank-you page

Most optimisation money goes to the top of the funnel. The expensive leaks are in the last five steps, where the customer already decided to buy and something stopped them.

Shopify, WooCommerce or custom: the honest three-year table

Platform arguments are usually identity arguments. The three-year total is the only comparison that is not — including the app subscriptions nobody counts and the transaction fees everybody forgets.

What you should own about your own website (and what agencies quietly keep)

The worst calls we get open the same way: the developer stopped answering and the domain is in his name. The ownership list, how to check it in twenty minutes, and what to do when it has already gone wrong.

Freelancer, agency or your own hire: what each is actually good at

The choice is usually argued about on price, and price is the least useful axis. What you are really buying is cover, continuity and how much managing you are willing to do — including the case where hiring us is the wrong answer.

What a website should cost — and what you are actually paying for

The same brief gets quoted at five thousand and fifty thousand, and both studios can be honest about it. Where the money goes, which line items are usually padding, and what to cut when the budget will not move.

App or website: which one your business actually needs

An app is a bigger project for us, so read the part where we tell you not to build one. The three cases where it genuinely wins, the costs nobody counts, and the retention arithmetic that settles it.

Everything you need to decide before you hire anyone

A brief in plain language: not "describe your target audience" but what the site must make happen, who decides, and what already exists. Plus the three answers that move the price more than anything else.

How to read a studio's proposal: the eight lines that decide everything

Three studios, three prices, and the price is the least useful number on the page. We write these documents for a living — here is how to grade one, ours included.

What "maintenance" should actually buy you every month

Most retainers are a line on an invoice nobody can explain. Here is what a fair one contains, the single question that separates real maintenance from theatre, and when you do not need one at all.

How long a website really takes — and why estimates slip

Two things cause most of the delay on most projects, and both of them sit on the client's side of the table. Here is the honest shape of a schedule, and what compressing it actually costs.

Design tokens for teams without a designer

You don't need a design team to look deliberate — you need about a dozen named decisions and the discipline to stop making new ones at midnight. How we keep a loud, eclectic site coherent with CSS variables.

Headless commerce under 10,000 SKUs: the honest three-year math

Headless is neither a scam nor a savior — it is a cost structure. The three-year arithmetic we walk shop owners through, including the line item every pitch omits, and the boring middle path that usually wins.

Payment UX: where the money actually leaks

Everyone optimizes the button color; the money leaks in the plumbing around it — 3DS redirects, error messages written by gateways, and the missing wallet button. A tour of the last thirty seconds of your funnel.

A latency budget for your checkout: six steps, 600 milliseconds, no excuses

Checkouts don't die of one big delay — they bleed out through six small ones. Here is the per-step budget we use, how to measure yours with nothing but DevTools, and where the milliseconds hide.

Automate the routine: 7 back-office jobs a small shop can delete this quarter

Not a manifesto about AI transforming everything — a concrete list of shop chores that stop existing after a day or two of engineering each, with honest hour estimates and one rule for what to never automate.

Your cookie banner is a conversion surface (and it's probably losing you money)

The consent banner is the first interaction most visitors ever have with your brand — and most teams design it in five minutes to satisfy a lawyer. Notes on treating those 200 pixels as product.

Why your deploy isn't showing: a field guide to the five caches between you and your users

You shipped, the pipeline is green, and the site still shows last week. Before you blame the framework, meet the five caches standing between your commit and your customer — and the 5-minute triage that names the guilty one.

How AI assistants decide which shop to recommend

ChatGPT and Perplexity are already sending buyers to stores — just not to yours, if your prices live inside buttons and your facts behind JavaScript. Notes from instrumenting our own site for machine readers.

When NOT to rebuild your website: the 12 questions we ask first

“We need a new site” is usually a symptom, not a diagnosis. The most profitable advice we give is often “don't” — here is the audit that decides it.

The third-party tax: what your marketing scripts really cost per order

Every chat widget, pixel and tag manager bills you twice — once in the invoice, once in milliseconds. Here is the 30-minute audit we use to translate the second bill into euros.

Building small, useful WordPress tools

A short note on the XO design WORKS approach to plugins, themes and the kind of product work that stays out of the way.