I wrote my first production code in 2001 at Enerweb in South Africa: a real-time electricity trading system for Eskom, South Africa’s national power utility, fault tracking for its transmission lines, and an energy trading system for Nampower, Namibia’s power utility.
Seven years at BBD followed. I built the basket, checkout and payment gateway of vodacom.co.za, Windows tablet and phone apps in C#, and the site where Momentum’s clients read their quarterly statements.
Since 2017 I’ve worked in Wellington. I led self-service work for ACC, New Zealand’s Accident Compensation Corporation, at Solnet, then spent five years at BNZ rebuilding on-premise applications in React and Spring Boot and moving them to AWS.
Today I’m at Land Information New Zealand, bringing legacy desktop and web applications to the web, with the infrastructure in AWS CDK and the pipelines in GitHub Actions.
Experience
Land Information New Zealand
–present
Senior full-stack developer
TypeScript, React, Spring Boot, AWS, AWS CDK
4 projects
Legacy web application
Moved a legacy web application to a modern web architecture.
Desktop application to the web
Rebuilt a legacy desktop application for the web with React and Spring Boot.
CI/CD
Set up GitHub Actions pipelines for development and deployment.
AWS infrastructure
Moved the infrastructure to AWS, defined as code with AWS CDK.
Bank of New Zealand
–
Senior full-stack developer
TypeScript, React, AWS, Spring Boot
3 projects
Transcribe web app
A React web application exposing AWS Transcribe.
Staff-assisted application
A new React app and Spring Boot service, built from the ground up to replace an on-premise application, and moved to the cloud.
BNZ Digital Onboarding
Development, maintenance and cloud migration of the web application that onboards new customers to the bank.
Solnet Solutions
–
Senior full-stack developer and tech lead
Angular, Spring
2 projects
ACC Business Customer Self Service
A web application where ACC’s business customers manage their levy payments online.
ACC Customer Self Service
An API that lets ACC customers view and manage the tasks on their claims.
BBD
–
Senior full-stack developer and tech lead
Angular, C#, Java EE, MongoDB
6 projects
Vodacom shopping basket, checkout and payments
The main purchase gateway of vodacom.co.za, from product selection to payment.
Vodacom instant upgrades
Designed and built a C# tablet application that lets customers upgrade on Windows tablets.
Vodacom Windows Phone app
A C# app giving customers the same functions as Vodacom’s self-service portal.
Vodacom metadata configuration
A maintenance application for vodacom.co.za portal pages, so staff could manage common configuration themselves.
Vodacom content synchronisation
A tool to synchronise content pages across Oracle WebLogic server environments.
Momentum quarterly statements
An AngularJS application where Momentum’s clients view their quarterly statements online.
Enerweb
–
Full-stack developer
PHP, Perl
3 projects
Eskom international electricity trader
A real-time electricity trading system.
Eskom transmission performance tracking
Tracking faults on transmission lines and their causes, including the front-end reports and PDF generation.
Nampower energy trading system
A Java viewer for transmission lines, and a port of the Plexos power market simulator to a full PHP and MySQL web application.
Working with agents
Most of my code is now written by agents. I use Claude Code every day, at Land Information New Zealand and on my own projects.
Claude Code, every day
My main way of working. I set the plan and the constraints, the agent does the work, and I review what comes back before it ships.
Several agents at once
Each agent works in its own git worktree, a separate checkout of the same repository, and Orca runs them side by side. I hand out the work, check it, and merge what passes.
Skills, plugins and MCP
I write and curate the skills and plugins my agents load, and connect them to real tools and services through MCP (Model Context Protocol) servers.
A homelab run by agents
My Proxmox homelab, a home server running about twenty Linux containers, is upgraded, backed up and kept in order largely by agents, through Ansible and Semaphore, a web front end for Ansible.
This site was rebuilt the same way: designed, built and checked by agents in an Orca worktree, with me directing.