Careful, pragmatic software development for systems that already exist.

Most of my work involves understanding how a system actually behaves, what constraints it's operating under, and what risks are involved in different approaches - before making changes.

I favour incremental improvements, clear trade-offs, and predictable outcomes over rushed fixes or large, speculative rewrites.

Client Survival Guide

Development

Personal Projects

Software

Featured Articles

Choices

Jun 12, 2025 6 min read

Considering Changes to an Existing System?

If you're planning work on software that already exists - or you're not sure what the right next step is - we can talk it through and decide what makes sense.

Leave Me a Message

Starting Something New?

I also take on new projects where there's a clear direction and a long-term intent.

Get in Touch