Software Development

Lead full stack developer — web front-end specialism

Full stack developer, 20 years’ experience, web front-end specialism — React and TypeScript interfaces, Node.js and Python services, cloud delivery. Technical lead for customer-facing platforms, delivered end to end; daily hands-on practitioner of agentic AI. Remote since 2011.

Projects

Experience

Contract Developer — Freelance

Oct 2025 – Present
  • Built the SNP’s 2026 election canvassing app — a Vue/Nuxt PWA, offline-first, deployed to thousands of canvassers across Scotland
  • Published validation-enhancer, an open-source accessible form-validation web component — 55 stars, 32 forks, ~900 npm downloads
  • Daily AI-first development since November 2025: agentic coding agents, four MCP servers, token budgeting, quality control of agent-written code

Vue / Nuxt / TypeScript / PWA / Pi Agent

Lead UI Developer — Terra Trust

Mar 2025 – Oct 2025
  • Lead UI developer: built the greenfield climate-risk platform end to end, directing an outsourced team in India
  • Designed the PostgreSQL schema; integrated Auth0 with custom OAuth2 and JWT verification
  • Built the GIS matching pipeline joining climate risks, carbon intensities and electricity prices to cloud regions

React / TypeScript / Python / FastAPI / PostgreSQL / Snowflake / Auth0 / GIS

Technical Lead — SP Energy Networks (via Waracle)

Oct 2023 – Mar 2025
  • First developer after two failed vendor attempts; architected a 250+-page customer-facing grid-connections portal with sole technical responsibility
  • Chose Astro; wrote all the TypeScript types; built most of the database and API
  • Built the design system from scratch — design tokens, fluid typography, semantic colour palette
  • HTML-first form validation web component (under 1KB) worked without JavaScript on decade-old phones, removing compliance risk for a regulated utility
  • Journey completions doubled in the first fortnight after launch and held; page payload cut from 6MB+ to ~400KB; won Waracle a three-year, multi-million-pound partnership

Astro / TypeScript / Web Components / CSS / design tokens / REST

Freelance Developer — Truffle Pig Consulting

Apr 2023 – Oct 2023
  • Rebuilt the public website and mailing list on Ghost

Ghost

Contract Developer — Sports Interactive

Jan 2023 – Apr 2023
  • Solo developer: designed and delivered an internal system for managing dynamic game configuration data, with TypeScript types generated from the C# backend

React / TypeScript / MUI / Vite / MobX / C#

Web Developer — Freelance

Jun 2022 – Dec 2022
  • Truffle Pig IT support and development; admin for Doune the Rabbit Hole festival

Ghost / FreeAgent / CRM

Senior Full Stack Developer — Sero Life

Oct 2021 – May 2022
  • Full stack on customer-facing energy apps in a family of ~5; core contributor to the React/Storybook component library; deployed via Terraform; set up GCP IAM permissions
  • Built the virus-scanning feature end to end, including the async interface for serving clean-file links

React / TypeScript / Storybook / GraphQL / Cypress / Jest / Docker / GCP / Terraform

IT Support & Development — Freelance

Mar 2021 – Oct 2021
  • IT support and development for Truffle Pig Consulting: website, CRM, email, FreeAgent payroll

Ghost / FreeAgent / CRM

Senior Developer — People’s Postcode Lottery (via Waracle)

Jul 2020 – Mar 2021
  • Rebuilt the lottery sales pipeline — 30% sales increase in the first month, measured by PPL’s own analytics teams
  • Refactored the codebase and led upgrades cutting maintenance costs; co-owned Jenkins CI/CD; mentored junior developers

React / TypeScript / Gatsby / GraphQL / Cypress / Node.js / Jenkins

Furloughed (COVID-19) — Garrioch Computing Ltd

Mar 2020 – Jul 2020

Web Developer — Freelance

Aug 2019 – Feb 2020
  • Truffle Pig Consulting: rebuilt the website, set up FreeAgent accounting and CRM; InChat: refactored their JavaScript chatbot (pre-LLM)

HTML / CSS / JavaScript / FreeAgent / CRM

Senior Developer — Clydesdale Bank (via Waracle)

Nov 2018 – Jul 2019
  • Led development of the call-centre telephony module (full dialler, CTI screen-pop), used by every agent; contract extended 6 to 9 months
  • Integrated the modern React dialler with BT’s legacy Java telephony stack over a custom inter-window messaging protocol

React / TypeScript / Jest / CSS

Web Developer — Freelance

Jun 2018 – Oct 2018
  • WordPress development for Bella Caledonia; an Angular/Node/PostgreSQL app for Mugstock music charity

WordPress / Angular / Node.js / PostgreSQL

Front-End Developer — Scottish Power (via Waracle)

Nov 2017 – May 2018
  • Sole front-end developer in a four-person team; big-data visualisation of ~1 billion data points (half-hourly consumption, 3 years, 5,000+ sites) with pricing projections

React / React-vis / Redux / TypeScript / Cypress / REST

Senior Developer — Scottish National Party

Feb 2017 – Oct 2017
  • In week one, built the donation widget at the centre of a £500,000 fundraising drive; later a Salesforce-integrated donations heatmap

Angular / TypeScript / Node.js / Express / PostgreSQL / Salesforce / Heroku / Java / REST

Senior Developer — City Facilities Management

Sep 2015 – Feb 2017
  • Built the engineer scheduler end to end on the retail-repairs system serving Asda and Walmart
  • Mentored two junior developers; one graduated to mid-level during my tenure

TypeScript / Angular / C# / Web API / LINQ / SQL Server

Senior Member of Technical Staff — VMware

Aug 2012 – Aug 2015
  • Remote from Glasgow; owned the full stack of the events features of VMware’s education product — VMworld web apps used by thousands, three data centres
  • One of two UI developers on EVO:RAIL (hyper-converged infrastructure): migrated the UI from Backbone to Angular; built licensing and hardware replacement; first units sold

JavaScript / Groovy / Grails / Angular / Node.js / MySQL / WebSockets / CSS

Earlier roles

2000 – 2012
  • Senior UX Developer, Buildabrand (remote, 2011–12): rebuilt the entire front end in four months; managed a small remote dev team
  • Application Developer, Sabio (2008–10): UI lead on the Student Loans Company call-centre rebuild; ran its first usability testing programme; softphone dialler
  • Web Marketing Officer, Mercy Corps Scotland (2007–08): sole web developer; doubled site traffic in six months. Earlier: co-founder, freelance, PC technician

PHP / MySQL / JavaScript / jQuery / Java / XSLT / HTML5 / CSS3

HNC equivalent in Computer Science — University of Glasgow, 2003

Endorsement

"…an absolute pleasure to work with: very enthusiastic and knowledgeable about his craft, self-directed and superbly effective, whether writing code, communicating his approach to a solution, or demoing functionality he had delivered. He left us in much better shape than when he arrived: delivering a highly extensible and developer-friendly system for managing dynamic game configuration data, some lovely UX touches for the users of this system, and leaving us all much wiser about the intricacies of TypeScript! I can thoroughly recommend Alistair, without reservation."
— Nat Wallbank, Lead Developer, Sports Interactive

Technologies

Agentic coding MCP servers Context engineering TypeScript JavaScript Python C# CSS SQL React Astro Nuxt Vue Angular Gatsby Web Components PWA Design systems Storybook Redux MUI Node.js FastAPI REST APIs GraphQL PostgreSQL Snowflake MySQL SQL Server Docker GCP Terraform Auth0 Cypress Jest Jenkins CI/CD Git Accessibility Progressive enhancement HTML-first Web performance Usability testing Mentoring Remote-first
Photo by Cheng Feng on Unsplash