Portfolio

Projects

A selection of systems I've designed and built: serverless pipelines, automation suites and AI-assisted engineering workflows.

A few projects that show how I think about scale, reliability and developer experience. Some shipped years ago and still run in production; others are part of how I work every day.

Home project · Ongoing

9kW Solar Array with Predbat Optimisation

A 9kW solar array and 5kW inverter read over Modbus TCP into Home Assistant, with Predbat planning import and export to maximise revenue and an EV charger folded into the schedule.

The inverter is polled through a Modbus to TCP adapter so Home Assistant sees live generation, battery and load data. Predbat uses that history and the tariff to plan when to import, store and export for the best return. I built an iBoost-style diverter to switch the immersion heater on when generation would otherwise be exported, and wrote Home Assistant dashboards that visualise the whole system alongside the EV charger that Predbat can bring into the plan.

  • Solar
  • Modbus TCP
  • Home Assistant
  • Predbat
  • EV Charging
  • Energy

Home project · 2020

Smart Off-Grid Water System

A two-node ESP8266 system that measures well level and tank volume, automates pumping via Home Assistant and MQTT, and delivers 3 to 4 bar of water pressure in the house.

End-to-end home water automation. One ESP8266 sits at the well and detects when the well runs dry; a second at the top tank uses an ultrasonic proximity sensor to calculate litres from the tank measurements. Temperature sensors feed Home Assistant automations that pause pumping near freezing. The setup was extended with a stream-fed lower buffer tank (also ultrasonic) that tops up the main tank, which then provides 3 to 4 bar of household water pressure.

  • ESP8266
  • Arduino
  • Ultrasonic
  • Home Assistant
  • MQTT
  • Automation

Moneysupermarket Group · 2019

Serverless Vue SSR Landing Page Generator

Marketing drops a JSON file into S3 and a Lambda renders fully server-side-rendered static pages: infinite scale without a server fleet.

A data-driven pipeline that turns component content in a JSON file into server-side-rendered landing pages on demand. Built so that non-engineers could launch campaigns without waiting on a deployment cycle.

  • Vue
  • SSR
  • AWS Lambda
  • S3
  • Serverless

Moneysupermarket Group · 2019

Cypress CI/CD Automation Suite

A Dockerised Cypress container that tests apps across environments and in production mode, wired into every pull request and deployment pipeline.

End-to-end coverage that ran as part of pull request, build and deployment pipelines. Docker Compose started a Cypress container against either a target environment or an app running in production mode in another container.

  • Cypress
  • Docker
  • CI/CD
  • Testing

Wejo · 2016

Rewards CMS & API Platform

An internal Java CMS and DropWizard REST APIs over MongoDB, administering driving-based rewards surfaced in a mobile app.

Users were rewarded according to their driving style, with rewards pushed to a companion mobile app. I built the backend APIs and the admin surface that let teams curate and target those rewards.

  • Java
  • DropWizard
  • MongoDB
  • REST