Skip to content

What I do

Capabilities

Ten capabilities in three groups: the AI work, the engineering underneath it, and the platform and delivery discipline that gets either of them into production.

AI & Automation

Applying agents and language models to real delivery, with governance that survives review.

Agentic AI Delivery

Production software built with agents in the loop

Coding agents, MCP servers, and orchestrated subagents applied to real delivery: a working codebase, tests, and documentation at the end, not a demo.

  • Agent-assisted build-out of full applications, themes, and integrations
  • MCP servers that give agents safe, audited access to internal systems
  • Subagent orchestration for parallel research, review, and implementation
  • Human review gates at every point where an agent could get it wrong
Read the detail

AI Strategy & Enablement

Where AI fits, and how to roll it out without a mess

Most enterprise AI programmes stall between the pilot and the platform. This is the work of choosing which workloads repay automation and putting governance around them before scale makes it costly.

  • Assessment of which workflows repay automation, and which do not
  • Tooling rollout for development teams, with standards and guardrails
  • Governance and data-handling policy that survives an audit
  • Enablement material so the capability stays with the team
Read the detail

LLM Application Engineering

AI features inside existing products

Retrieval, tool use, and structured extraction built into applications that already exist, with the evaluation harness that shows whether it is actually working.

  • Retrieval over an existing document and data estate
  • Tool use and structured output wired into existing business logic
  • Evaluation harnesses and regression suites for non-deterministic systems
  • Cost, latency, and failure-mode engineering for production traffic
Read the detail

AI-Accelerated Modernization

Legacy estates, moved forward at a pace that surprises people

The unglamorous work AI is genuinely good at: reading a codebase nobody remembers writing, documenting it, testing it, and migrating it without a big-bang cutover.

  • Codebase archaeology and documentation for systems that lost their authors
  • Test coverage built retroactively so a refactor is safe to attempt
  • Framework, language, and platform migrations staged for low risk
  • Dependency, security, and end-of-life remediation at scale
Read the detail

Software Engineering

Building and maintaining applications across the stack, in the languages a business already runs.

Full-Stack Web Development

Applications end to end, from schema to interface

Twenty-five years of building for the web: PHP and the LAMP stack, .NET and C#, JavaScript, and the database design underneath. Applications that get maintained, not just launched.

  • PHP applications, APIs, importers, parsers, and integrations
  • .NET and C# services alongside existing enterprise systems
  • JavaScript front-ends, without a framework where none is warranted
  • WordPress as an application platform rather than only a CMS
Read the detail

Python Engineering

Automation, data work, and services that hold up

Python where it earns its place: automation, data processing, internal tooling, and the API and integration work that quietly keeps a business running.

  • Automation and scripting that removes repeatable manual work
  • Data processing, transformation, and reporting pipelines
  • APIs, services, and scheduled jobs built on the standard toolchain
  • Internal tooling a team can pick up, read, and extend
Read the detail

Mobile Development

Cross-platform applications for iOS and Android

React Native applications built and shipped to both stores from a single codebase, including the parts that are never in the tutorial: release process, device variation, and store review.

  • Cross-platform applications for iOS and Android from one codebase
  • Native module integration where the platform bridge is unavoidable
  • Release, signing, and store submission handled as a repeatable process
  • Offline behaviour and sync against a server that is sometimes wrong
Read the detail

Data & Databases

Schema, queries, and the reporting layer on top

Work on data-heavy applications: schema design, query optimisation, migration between systems, and moving reporting off the spreadsheet nobody owns.

  • Schema design and normalisation for applications that will grow
  • Query optimisation and indexing on large, slow tables
  • Data migration and import pipelines between systems
  • Reporting layers that replace a spreadsheet nobody owns
Read the detail

Platform & Delivery

The infrastructure underneath, and the process that gets work approved and shipped.

Platform & Infrastructure

Linux, web servers, and the performance work underneath

The layer most application developers avoid: Linux administration, Apache and Nginx configuration, deployment, and the performance tuning users actually feel.

  • Linux server administration, configuration, and hardening
  • Apache and Nginx configuration, TLS, and caching strategy
  • Deployment that is repeatable and written down rather than remembered
  • Front-end and server-side performance measurement and tuning
Read the detail

Technical Program Management

Getting work through a large organisation

The discipline that decides whether software ships at all: intake, architecture and security review, cross-team dependencies, vendor management, and status that reflects reality.

  • Intake, approval, and change-control navigation
  • Cross-team dependency management, where most delay actually lives
  • Vendor and statement-of-work management, on both sides of it
  • Steering-level reporting that does not hide bad news
Read the detail

These are not ten separate things

They are views of the same work from different angles. A modernization job usually turns up a workflow worth automating; a slow page turns out to be a database problem; a governance question ends with someone asking whether the thing can simply be built. The boundaries are less clean than the headings suggest, and it is more honest to say so.

Principles that hold across all of them

  • A human reviews everything before it lands. Agents draft; they do not approve their own work.
  • Source, documentation, and reasoning stay with the organisation that owns the system.
  • Which tools touch which data is stated explicitly, not assumed.
  • Conventional, readable output. Code only an agent can maintain is a liability.