The Template Application: Our Reusable Foundation for Bespoke Builds

A shared Rails template gave three internal tools a common foundation — authentication, tenancy and permissions solved once, argued about once, then simply inherited. When I wrot...

software-engineering rails internal-tooling saas-boilerplate

There's Never Been a Better Time for Bespoke Software

The build-versus-buy calculus has quietly shifted. For a lot of internal tooling, building something exact is no longer the expensive option. For years, the build-versus-buy conv...

bespoke-software software-engineering build-vs-buy ai-acceleration

Agents Can Produce More Code in a Day Than I Used to in a Week

Agents can produce more code in a day than I used to in a week. That's not entirely a good thing. AI has changed the pace of software delivery in ways I'm still getting my head a...

software-engineering ai-agents engineering-leadership technical-debt

There's Really No Need to Write Functional Specs Anymore

A vibecoded prototype isn't just a rough sketch. It's a working, interactive specification, and one heck of a starting point. My colleague built a one-page static prototype in Cl...

software-engineering ai-agents spec-driven-development rails

Spec Driven Development Is Just Waterfall Wearing New Shoes

Spec driven development isn't a new paradigm - it's waterfall, repurposed for the agentic age. The discipline that agile tried to escape is the discipline our agents now demand. T...

software-engineering ai-agents spec-driven-development bespoke-software

The Most Valuable Word in Software Services Is "No"

After 25 years of building bespoke software, the advice I wish I'd been given on day one is that saying no to a client isn't a failure - it's the highest form of service. The Ins...

software-engineering engineering-leadership bespoke-software client-management

The Upgrade Economy: Why Bespoke Software Is a Long Game, Not a Project

Two decades of building bespoke applications has taught me that the initial build is rarely where the real value - or the real cost - lives. A Rails 1.0 Application That Refuses ...

software-engineering bespoke-software engineering-leadership long-term-thinking

Building in Public: Why I Started Sharing My Work

A few months ago I decided to start sharing more of my work publicly - side projects, half-finished ideas, things I've learned the hard way. I've been hesitant about this for years...

meta writing open-source

Building a CLAUDE.md for a Legacy Rails App: A Field Report

What we learned modernising a 15-year-old courier system for the age of AI agents - with the exact file structure, conventions, and test results we used. This is a practical fo...

ai-architecture rails claude software-engineering

Coding For Agents: Why Contextual Readiness is the New Technical Debt

Leading teams create in-repo guidance for their AI agents to slash onboarding time, banish hallucinations, and multiply delivery speed. Is your team Agent-ready? From Human-Reada...

ai-architecture software-engineering cursor claude