20 years building for the web, from start-ups to enterprise. I currently lead R&D and AI adoption for 8 teams at NBCUniversal (Peacock, NOW, Sky), where I've shipped AI tooling and a multi-brand design system alongside a range of other R&D projects. I prove ideas with quick spikes, then do the hands-on work to deliver them.
Key skills
- TypeScript
- React and Next.js
- AI agents and LLM tooling
- MCP and Amazon Bedrock
- design systems
- CI/CD and developer platforms
- AWS
- Python
Experience
NBCUniversal (Peacock, NOW, Sky)
Senior Developer, AI, R&D and Leadership (VOR Team)
Sep 2024 ~ Present (2 years, 2 months), Remote ContractR&D leadership
Ran R&D across 8 teams (7 server-rendered apps and an internal CMS): trialled new tools in short spikes, such as AWS chaos testing, shared what worked in brown-bag sessions and rolled it out.
- AWS Fault Injection Service
- AWS Lambda
- AWS CloudWatch
AI engineering platform
Built shared GitHub Actions workflows that let AI agents write code themselves and review pull requests across Node.js, Python and Java repositories. Set models (Claude, GPT) centrally and added guardrails that limit which tools and commands agents can run, with short-lived OIDC credentials instead of stored keys.
- GitHub Actions
- Augment
- Claude
- OpenAI GPT
- Node.js
- Python
- OIDC
- AWS Secrets Manager
Usher, internal AI assistant
Contributed to an internal chatbot that answers questions and triages issues in real time by connecting to other internal systems through MCP, and integrated it with our Agentic Platform. Usher runs on Next.js, the Vercel AI SDK and Amazon Bedrock.
- Next.js
- TypeScript
- Vercel AI SDK
- Amazon Bedrock
- AWS DynamoDB
- AWS S3
Agent skills
Wrote a range of Cursor agent skills, for example one that triages incidents by pulling Datadog, GitHub and Slack evidence into a single timeline, and one that reviews components across repositories.
- Cursor
- Python
- Datadog
AI developer tools
Created an MCP server that gives AI agents access to internal APIs, a Datadog extension for VS Code and a documentation-migration plugin that waits for human approval before making changes.
- Model Context Protocol
- AWS Lambda
- Datadog
- VS Code
Multi-brand design system
Led the end-to-end migration of the React 19 toolkit shared by Peacock, NOW, Sky (100+ components) from styled-components to Tailwind CSS v4. Built an AI snapshot-diff tool so agents could catch and fix visual regressions in migrated components without a person in the loop.
- React 19
- TypeScript
- Tailwind CSS v4
- Styled Components
- Storybook
- Playwright
- AWS S3
CI and deployment
Rebuilt monorepo CI to test and build each package in parallel, rolled out shared GitHub Actions workflows to other repositories and introduced AWS Lambda Web Adapter to the organisation's apps through the Serverless Framework.
- GitHub Actions
- Concourse
- Nx
- AWS Lambda
- Serverless
- Playwright
Migrations and enablement
Drove organisation-wide migrations, including a central shared configuration, Node.js 24 and Vitest 4, and wrote guidance for AI agents (AGENTS.md) and new joiners across many repositories.
- Node.js
- TypeScript
- Vitest
Senior Developer, Technical Lead (NOW Team)
Oct 2021 ~ Aug 2024 (2 years, 11 months), Remote ContractTechnical leadership
Wrote code day to day and took on the Technical Lead role on top: hired and mentored engineers, set the technical direction for the team's applications and was the main contact for Principal Engineers and stakeholders.
Feature delivery
Delivered features and day-to-day work across a React micro-frontend architecture, with GraphQL and REST APIs behind a backend-for-frontend (BFF). Also contributed shared components used across the wider NOW platform.
- React
- Next.js
- TypeScript
- GraphQL
- REST
- Node.js
Quality and accessibility
Applications carried 1,000+ unit, functional and end-to-end tests written against acceptance criteria, and nothing merged with an accessibility failure.
- Jest
- React Testing Library
- Cypress
- TypeScript
DevOps and on-call
Ran CI/CD, monitoring and on-call for the team's apps on Akamai, under a DevOps model.
- Concourse
- Akamai
American Express (Centurion)
Senior Developer
Mar 2020 ~ Feb 2021 (1 year), Remote ContractBuilt a highly interactive interface for the Centurion (Black Card) luxury service, matching the designs precisely with custom transitions, animations and CSS filters, and internationalised every page in English, German, French, Italian and Mandarin.
Shipped it as a React and Node.js micro-frontend, served through a CDN so it loaded quickly worldwide.
- React
- Node.js
- i18n
- REST
- React Spring
- Styled Components
- CDN
University of Southampton
Lead Developer
Nov 2014 ~ Feb 2020 (5 years, 4 months), Southampton ContractLed the architecture and delivery of a greenfield platform unifying 300+ websites, 3M+ pages and multiple databases into one system.
Designed Node.js microservices, one per data source, federated into a single Apollo GraphQL endpoint and deployed with Kubernetes and serverless functions on Azure.
Built the front end in React and Marko as static sites on a CDN. The same data also fed campus menus, digital screens and third-party mobile apps.
Led, mentored and grew the in-house development team, and helped shape the visual design.
- React
- Marko
- GraphQL
- Node.js
- Kubernetes
- Serverless
- Azure
- SQL
- Contentful
Five by Five
Frontend Developer
Sep 2014 ~ Nov 2014 (3 months), ContractB&Q
Frontend Engineer & UI Designer
Jan 2014 ~ Jul 2014 (7 months), ContractEarlier roles
Frontend and full-stack roles
Aug 2006 ~ Dec 2013 (7 years, 5 months), PermanentIncluding CDD Nation, Holiday Extras and Chestfields.