HOW WE WORK

AI makes us faster

Twenty years on the tools makes us right. Here’s how we use AI when we build software for our clients, and where we deliberately don’t.

We use AI every day. We don’t ship code we haven’t read.

AI coding tools have changed what a small senior team can deliver. Code that used to take a day now takes an hour. Code that used to take an hour now takes minutes. That speed becomes your speed, with shorter timelines and more senior attention left over for the parts of the job that actually matter.

But the headline matters more than the hype. Faster output is only useful if it’s right. AI is excellent at producing code that looks right. Reading every line, understanding what it does, and knowing whether it’s safe to deploy: that’s still the job. Twenty years on the tools is what makes the difference between getting it right quickly and getting it confidently wrong.

Where AI earns its keep

A lot of the work in a software project is familiar territory. AI is brilliant at this and we lean on it heavily:

  • Boilerplate and scaffolding. CRUD endpoints, DTOs, mapping code, repository patterns.
  • Drafting tests. “Write me a unit test that covers these branches”, then we refine.
  • Exploring unfamiliar APIs. What’s the idiomatic way to do X in this library.
  • Refactors at scale. Renames, type tightening, pulling code into a new shape.
  • Code archaeology. Explaining what a piece of legacy code does before we touch it.
  • Migration scripts and data shaping. A first pass we then verify against real data.
  • Documentation drafts. README updates, API descriptions, architectural decision records.

The pattern is the same across all of them. AI gets us to a credible draft in a fraction of the time, and we apply judgement to take that draft to something we’d put our name on.

Where we don’t lean on it

The interesting question isn’t where AI helps. It’s where we deliberately don’t trust it. These are the parts of building software where being confidently wrong is expensive:

  • Architecture and system design. The calls that decide what the next two years of your codebase look like.
  • Security-sensitive code. Auth flows, input handling, anything touching credentials or PII.
  • Database migrations on live data. Anything irreversible gets careful, hand-rolled scrutiny.
  • Trade-off conversations. “Should we use a queue here, or is synchronous OK?” is a conversation with you, not a prompt.
  • Estimating effort. AI is overconfident. We trust the scars on our hands more.

How we keep AI output trustworthy

Every AI-suggested line goes through the same review one of us would give a junior engineer’s code:

  • We read every change before it’s committed. No “looks fine, ship it.”
  • Tests cover behaviour, not just structure. AI can write code that passes a test it also wrote, which is worth nothing.
  • Pull requests are peer-reviewed by another senior engineer before they merge. Every change has a second pair of senior eyes on it.
  • We keep a record of where AI has worked and where it hasn’t, project by project. The technology is still developing, and our practices evolve with it.

What this means for you

The speed of a much larger team, with the judgement of a senior one

Faster delivery on the predictable parts of the build. Work that used to fill a sprint, like scaffolding, mapping, drafts of tests, and repetitive refactors, now fits into hours. Your timeline shrinks where it can, without cutting corners on the parts that need careful thought.

Lower cost on the invoice for the same outcome. You don’t pay senior rates for boilerplate any more. The same project takes fewer hours, and the hours we do bill are spent on the work where experience actually moves the needle.

More senior attention where it’s actually useful. Architecture, trade-offs, the hard calls about what to build and what to leave alone. That’s where two senior practitioners earn their keep, and AI gives us more time to do it well.

Code you can hand to anyone afterwards. Well-tested, well-structured, documented, and not a black box that depends on its original authors. AI helps us produce more of it, faster, but the standard is the same as it’s always been.

Why experience matters more, not less

The honest version. Junior developers using AI ship more code, but the same proportion of bad code as before. Sometimes more, because AI is fluent enough to bury the mistakes. Senior developers using AI ship better code faster, because they catch the errors AI can’t catch by definition: misalignments with the actual goal, subtle assumptions, the trade-off the prompt didn’t mention.

That’s the offer. Senior practitioners with twenty years on the tools, using the best AI tools available, applied with the kind of judgement that only comes from having been wrong enough times to learn.

Start a project

Get the right solution that works for you

Get started