Of twelve systems we run in production, eight have no model in them at all. A cron job that reliably expires stale records is not less impressive than a chatbot — it is more useful. Where the model earns its place, and where it is decoration.
Insights
Things worth writing down.
Notes on Shopify, commerce operations and the software we build. No newsletters you cannot unsubscribe from, and no gated PDFs.
A short list on purpose. The older pieces that still answer something worth asking are kept, and the rest have been retired.
AI & systems
How to triage a dependency-alert pile without either ignoring it or losing a week: split dev from production by running the actual install command, grep for the vulnerable API rather than the package name, and check the minimum upgrade instead of the latest version.
Every capability we ship is gated by an explicit grant, returns a typed error when it is missing, and can be checked from outside. Boring, and the reason we let software touch a client's orders.
Amplifying human creativity with AI
What AI actually changes about making things, and what it does not.Written in 2023, before most of this was fashionable.
Operations
Efficiency versus effectiveness
Doing things right and doing the right things are different problems. Most operations work confuses them.
Shopify
Choosing a point of sale
What to weigh when the shop floor and the website have to agree — and where Shopify POS fits.
Choosing a theme you will not fight later
Layout, responsiveness and how far a theme bends before it breaks — the decisions that are expensive to reverse.
Shopify Plus: what you get, and whether you need it
Plus earns its price at volume and with complex B2B rules. Below that it is an expensive way to buy features you already have — and for wholesale specifically, there is a cheaper answer.
Image optimisation, properly
Why it matters more than it sounds, what actually moves the numbers, and how to keep it from decaying.
Five reasons to migrate to Shopify
The honest case for moving, written for someone who already trades somewhere else and is weighing the disruption.
Tell us what you're building.
A first call is thirty minutes and costs nothing. Bring the thing that is annoying you most — that is usually the fastest way in.
Start a conversation