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 MessageClient Survival Guide

Quick Fixes versus Careful Rewriting
12/15/2025
4 minute read

Should I Build A Website Or Mobile App?
10/21/2025
5 minute read

Hosting Explained for Business Owners: VPS, PaaS and BaaS
9/30/2025
6 minute read

Startups, MVPs and the Illusion of "Doing It Right"
6/18/2025
5 minute read

Upgrading Software
10/14/2024
4 minute read

Choices
9/11/2024
6 minute read
Development
Software

Setting Up NestJS on AWS Lightsail Steps
10/9/2024
11 minute read

Beginning To Rust
9/12/2024
4 minute read

Using Linux Find
8/25/2024
5 minute read

Using Amazon Certificate Manager (ACM) with EC2 and ALB
4/14/2023
5 minute read

Setting up an AWS S3 Static Website with CloudFlare
2/20/2022
12 minute read

PHP 8 and Nginx on Ubuntu 20.04 LTS Tutorial
10/17/2021
8 minute read
Personal Projects

A Tale of Two Apps
8/20/2024
7 minute read

Renewable Energy in Yorkshire
8/12/2024
9 minute read

Composer Package
10/11/2021
18 minute read

WordPress Plugin Javascript CSS Accordion
12/22/2019
2 minute read

WordPress Plugin Post Volume Stats
9/15/2016
5 minute read

WordPress Plugin Add Target Fixer
9/14/2016
1 minute read
Starting Something New?
I also take on new projects where there's a clear direction and a long-term intent.
Get in Touch




