Work

Selected work

Client and employer names withheld. The work is not.

2021–2024 · Lead / full-stack

National publishing platforms

A major national bureau was taking its central publishing platforms in-house. I designed and built authenticated services with complex permission models, working tightly with the people who actually had to live in them.

I sat in the security testing process and handled threats as they landed. Logging and cookie management had to meet legal requirements, not just technical ones. Internal APIs needed stitching together without theatre.

I started the shared design system for the organisation, ran Docker-based CI/CD, and collaborated on an AWS / Azure migration proof of concept. I wrote the diagrams and specs, worked across team borders, and onboarded developers as the group grew.

  • Design systems
  • Docker
  • CI/CD
  • AWS
  • Azure
  • Auth

2017 · Full-stack, frontend-leaning

Legacy commerce for a global sportswear brand

I joined an agile team investigating and developing legacy sale platforms that had been taken in-house. The end client was one of the world’s largest sportswear manufacturers.

The work was unglamorous in the best way: production bugs, incremental features, documentation, frontend design conversations, and sitting in the team’s actual decisions — not a parallel track.

  • TypeScript
  • Node.js
  • REST
  • Swagger
  • CoffeeScript
  • PHP
  • Symfony
  • Docker

2017 · Solutions architect / full-stack

Tools for a diabetes prevention study

A wide intervention study on diabetes prevention needed someone who could hold the architecture and still ship the software. The role sat between solutions architect and full-stack developer.

I built and ran the technical side: a Vue and Node SSR application, Drupal and LimeSurvey in the mix, MySQL, analytics, and the CentOS / Nginx box underneath, automated with Ansible.

  • Vue.js
  • Node.js
  • SSR
  • MySQL
  • Drupal
  • LimeSurvey
  • Ansible
  • Nginx

2014–2016 · Technical consultant

Multi-site Drupal and custom PHP

I worked inside an agency team maintaining and improving multiple client websites, mostly Drupal, plus a custom service on CodeIgniter.

Requests landed as full-stack work: server, backend, frontend. Search ran on Apache Solr. Hosting included Acquia Cloud. Configuration was Ansible. The version control was Git, and sometimes still SVN.

  • Drupal
  • PHP
  • JavaScript
  • CodeIgniter
  • Solr
  • Ansible
  • Acquia Cloud