Profile
Senior full-stack software engineer with 10 years experience building
products across the charity sector, fundraising platforms, music technology
and product launch tools. Strong background in TypeScript, React, .NET,
AWS and Azure, with experience delivering high-scale systems,
event-driven services, frontend re-architecture, serverless platforms,
observability tooling and internal engineering enablement.
Comfortable leading delivery, running technical discovery, pairing and
guiding other engineers, improving engineering practices and building
maintainable systems across product and platform teams.
Experience
Blackbaud | Senior Software Engineer
May 2023 - Present
Blackbaud provides cloud software for social good organisations,
including nonprofits, foundations, education, healthcare and corporate
social responsibility teams.
- Architected and implemented business-logic services that enabled multi-charity campaigns at scale, alongside React page creation and administration dashboards.
- Presented and shaped relationship service architecture, optimising Cosmos DB access patterns and analysing service performance under load.
- Tuned autoscaling configuration and implemented DLQ reprocessing across our estate, strengthening observability and incident response practices.
- Led identity service architecture and user anonymisation design, owning technical designs, implementation stories and handover material for delivery teams.
- Created reusable documentation and guides for service authorization, identity permissions, message sequencing and dead-letter queue management.
- Built internal engineering enablement tools including an automated engineering health dashboard, service runbooks, AI-assisted analysis workflows and decision-documentation helpers.
JustGiving | Senior Software Engineer
May 2019 - May 2023
JustGiving is a major online giving platform supporting fundraisers,
charities and donors across international fundraising campaigns.
- Re-architected JustGiving's primary fundraising frontend, using Next.js, Lambda@Edge and DynamoDB-backed caching to reduce page load times to milliseconds and support 90,000 requests per second during peak fundraising events.
- Designed and implemented serverless AWS services for Strava and Fitbit integrations, and coordinated work across our internal teams.
- Built React applications for viewing, sharing and administering fitness event data across fundraising journeys.
- Delivered a serverless donation receipt generation service using TypeScript, Node.js, AWS Lambda and S3, with Terraform-managed infrastructure provisioning.
- Drove engineering quality improvements through GraphQL codebase cleanup, reusable packages, lambda deployment helpers and engineering standards.
AI Music | Full-Stack Developer
June 2018 - May 2019
AI Music built music technology products using artificial intelligence
and audio processing to create adaptive and personalised music experiences.
- Built features for Ossia, an iOS application that allowed users to generate remixes by combining vocal and backing tracks through a React Native interface.
- Developed services for an advertising insertion pipeline, using AWS Step Functions and ECS to run DSP tasks that calculated insertion points within extended mixes.
- Delivered frontend and backend features for an advert creative studio built around a remix algorithm designed to intelligently restructure songs.
- Integrated React and Apollo frontend applications with AppSync GraphQL APIs, DynamoDB datastores and S3-backed signed URL streaming.
Your Favourite Story | Front-End Developer
October 2016 - June 2018
Your Favourite Story was a London product launch agency delivering web
and interactive experiences for brands including Mercedes-Benz, DeWalt
and Massey Ferguson.
- Built the Mercedes-Benz Truck Dealer Locator as a Vue-based progressive web app using the Google Maps API to provide location and direction information for UK dealer outlets.
- Built Vue design system foundations for Mercedes-Benz point-of-sale products deployed as interactive displays in dealer outlets.
- Developed reusable components, tokens, elements, patterns and templates to accelerate future product delivery and improve consistency across client applications.