Writing
Notes from actually shipping this stuff.
No thought leadership. Cost breakdowns with the arithmetic shown, failure modes we've hit, and the occasional argument against hiring us.
7 min read
Fixed price vs time and materials: who carries the risk, and what it costs you
A fixed price is an estimate plus an insurance premium. Time and materials is the estimate with no insurance. Which one is cheaper depends on how wrong the estimate turns out to be, and who is better placed to know.
6 min read
Next.js or WordPress for a business website? A Next.js studio's honest answer
We build on Next.js, and for a fair number of businesses WordPress is still the better choice. Here is how to tell which one you are, with the security and speed numbers sourced.
5 min read
Should your MVP be a web app or a mobile app?
Most MVPs should launch on the web, and a few genuinely can't. The difference comes down to how users find you and what the core loop needs from the phone — here's the test, with the store costs sourced.
7 min read
The software handover checklist: what you should own before your developer leaves
Most lock-in isn't malicious. It's a domain on a freelancer's personal account and an app published under the agency's name. Here is everything you should hold, in the order to check it.
4 min read
Fixing anchor links under GSAP ScrollSmoother in Next.js
ScrollSmoother translates your page instead of scrolling it, so the browser's own jump to #services lands in the wrong place. One delegated handler fixes it without touching a single link.
4 min read
How to lazy-load GSAP in Next.js, and keep it out of first paint
A top-level `import gsap` puts the whole animation stack in the bundle your page waits on. Importing it inside the effect that needs it moves it after first paint, and only costs you a few lines.
6 min read
JEV explained, and when a classifier beats an LLM call
A new model class is getting a lot of attention for doing less: no text, just a typed answer and a confidence number. The interesting part is not the model, it is the decision it exposes in most AI features.
4 min read
What a software maintenance retainer actually costs
Most agencies won't put a number on a retainer. Here are ours, the industry ranges we checked them against, and the arithmetic for deciding when hiring someone is cheaper.
4 min read
In-house AI team vs agency: the arithmetic, including when we lose
Real salary numbers, real agency numbers, and the crossover point where hiring wins. Written by an agency, which should tell you how the last section goes.
4 min read
Adding RAG to a SaaS product that already has customers
Every RAG tutorial starts with an empty folder. Here's the version for a product that already has tenants, permissions and a database you can't casually restructure.
4 min read
Why your AI proof of concept never shipped
The demo worked. Four months later it's still a demo. Here are the six things that actually block the gap, in the order they usually bite.
5 min read
Five patterns for putting an LLM into software that already exists
A decision framework rather than a tutorial: which of five integration shapes fits your problem, what each costs, and the failure modes that show up in month three.
4 min read
Can you combine RAG and fine-tuning? Yes, and usually you shouldn't yet
The comparison is usually framed as a choice. It isn't — they solve different problems. Here's which problem you actually have, and what combining them costs.
4 min read
The evals we build before shipping an LLM feature
Not a survey of eval tooling. The actual suite we build on client projects, why it's small, and which scoring methods we don't trust.
4 min read
What an AI feature costs, with the arithmetic shown
Two numbers matter and most quotes only cover one. Here's the build cost, the running cost, and the arithmetic for working out yours.
Prefer a reader? Subscribe to the RSS feed.
Next step
Rather talk than read?
Everything here is what we'd tell you on a call anyway. If your situation isn't covered, ask.