The easiest, most lightweight validation system. Brings native HTML validation to life — with the UX you want right out of the box. Optional zod integration.
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
Street space measurement tool for urbanists. Users can colour in a map or photo and see how much space is allocated to different uses. Vibe coded YMMV ;)
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 2020Web 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