Senior Software Engineer · London · Open to work
The work
Eleven years building products end to end. Fifteen roles, mostly in-house at startups and scale-ups across fintech, AI and edtech. Alongside that, fourteen products of my own live on the web and ten on both app stores.

Companies I've built for
- Prosper
BPP
Lendable
Yarn
MDRx
Clearstake
Aula Education
Sparks
LEO Learning
Discovery Education
Addison Group
Machine Earth
- Tribal Worldwide
- SYZYGY
- Cohaesus
Selected work
Four roles with something specific to show for them. The full fifteen-role history is on LinkedIn.
- Prosper
Oct 2025 – Present
Contract
Senior Software Engineer · Prosper
Built the product from nothing — a full-stack prototype delivered solo, plus the real-time AI speech pipeline and the evaluation framework that keeps its output honest.
- Architected and delivered the full-stack prototype solo from zero using Next.js, GCP Cloud Run, Cloud Storage and PostgreSQL, reaching a working MVP in under three months.
- Integrated a real-time AI speech pipeline using Google Cloud Speech-to-Text (Chirp v3), Vertex AI and OpenAI, cutting feedback turnaround from manual review to under 30 seconds.
- Built an LLM evaluation framework in Python using Pydantic, LangChain and Langfuse, implementing prompt-chaining pipelines across four competency pathways with Claude and Gemini.
Next.jsTypeScriptPythonGCP Cloud RunPostgreSQLVertex AIOpenAIClaudeGeminiLangChainLangfusePydantic BPP
May 2025 – Sep 2025
Contract
Senior Software Engineer · BPP
Delivered features across the Apex microlearning platform and owned the SCORM integration end to end — the unglamorous standards work that makes e-learning content actually play.
- Delivered 15+ features on the Apex microlearning platform including SCORM content capture, Algolia-powered search, and a Recharts spider chart visualising learner competency scores.
- Owned the Rustici SCORM integration end to end across three content types, resolving CSP policies, DatoCMS media URLs and database migrations to enable reliable cross-browser playback.
- Managed headless CMS schema migrations and content pipelines integrated with a typed GraphQL layer, reducing content deployment errors and enabling non-technical teams to publish independently.
ReactTypeScriptGraphQLDatoCMSAlgoliaRustici SCORMRechartsLendable
Sep 2024 – May 2025
Contract
Senior Software Engineer · Lendable
Nearly doubled a core acquisition funnel at one of the UK’s larger consumer lenders, then built the tracking to prove it and keep improving it.
- Boosted Credit Karma click-to-convert rates from 17% to 30% within one quarter by implementing A/B tests, user feedback surveys and optimised designs.
- Developed tracking systems to analyse user journey drop-offs, enabling data-driven improvements that enhanced retention and satisfaction within three months.
- Delivered Q4 roadmap features including live chat, improved emails and a Plaid integration, improving user experience and conversion rates.
ReactReact NativeTypeScriptNodePlaidA/B testingYarn
Jan 2024 – Sep 2024
Contract
Senior Full Stack Engineer · Yarn
Migrated a PHP MVP onto Next.js and React Server Components, and left the team with standards and a review process that outlasted the migration.
- Boosted app performance by 40% in one month by migrating a PHP MVP app to Next.js and Server Components, improving load times, speeding up OpenAI API calls and user satisfaction.
- Implemented React coding standards within two weeks, reducing technical debt and enhancing code maintainability and scalability.
- Introduced Loom for PR reviews, cutting feedback time by 50% and speeding up project schedules.
Next.jsReact Server ComponentsReact NativeTypeScriptOpenAIPHP
Earlier
- MDRxSenior Software Engineer2022–2023
- ClearstakeSenior Fullstack Developer2022–2022
- Aula EducationSenior Software Engineer2021–2022
- SparksLead Software Engineer2020–2021
- LEO LearningFrontend Developer2020–2020
- Discovery EducationFrontend Developer2017–2019
- Addison GroupFrontend Developer2017–2017
- Machine EarthFront End Developer2017–2017
- Tribal WorldwideFrontend Developer2016–2016
- SYZYGYFrontend Developer2016–2016
- CohaesusFrontend Developer2015–2016
On the web
Every role above. React and Next.js since 2015, most recently a full-stack prototype delivered solo at Prosper, a PHP MVP rebuilt on Server Components at Yarn, and a conversion funnel taken from 17% to 30% at Lendable. Fourteen of my own products run on it.
On mobile
React Native in production at Lendable, Yarn, MDRx, Aula Education, plus ten of my own apps through App Store review — including the parts nobody enjoys: EAS builds, OTA updates, store metadata and subscription plumbing.
Products I've shipped
Designed, built, shipped and maintained by me, under Chewy Bytes Limited. 14 live on the web, 10 of them also on the App Store and Google Play. See the developer page.
Track, appeal & beat your PCN
Next.js · React Native · Expo · Prisma · Postgres · Anthropic
Read the case studyBudget, bills & subscriptions
Next.js · React Native · Expo · TrueLayer Open Banking · Prisma · Neon
Read the case studyColoring pages kids dream up
Next.js · React Native · Expo · gpt-image-2 · Replicate · ElevenLabs
Read the case studyPerfect season. Five sports.
Next.js · React Native · Expo · Firebase Cloud Messaging · Prisma · Neon
Read the case studyDose, side effects & weight
Next.js · React Native · Expo · react-three-fiber · Skia · Anthropic
Read the case studyUK day rate contractor board
Next.js · React Native · Expo · Browserbase Stagehand · Anthropic · Perplexity
Read the case studyAddiction support, no shame
Next.js · React Native · Expo · Anthropic · OpenAI · Skia
Read the case studyMidwife-led pregnancy weeks
Next.js · React Native · Expo · react-three-fiber · TanStack Query · Sanity
Read the case studyQuiet pages to colour or print
Next.js · React Native · Expo · gpt-image-2 · Stripe · RevenueCat
Read the case studyTax-free top-up & cap tracker
Next.js · React Native · Expo · RevenueCat · PostHog
Read the case studyBook it. Run it. Kit it. One home for grassroots sport.
Next.js · Stripe · PostHog · Sentry
Read the case studyA modern Black hair & beauty supply store
Next.js · Sanity · Stripe · PostHog · i18n
Read the case studyBirth planning support from an NMC-registered midwife
Next.js · Sanity · Stripe
Read the case studyWhat I work with
- Design
Figma day to day — working from designers’ files, and designing my own products end to end when there is no designer. Sketch and Adobe XD on earlier agency and in-house work.
- Figma
- Sketch
Adobe XD
- Frontend
React, Next.js App Router, TypeScript, React Server Components, Tailwind, TanStack Query and Form. Design systems, accessibility, Core Web Vitals. Stripe for payments, and Shopify where the storefront is the product.
- React
- Next.js
- TypeScript
- JavaScript
- Tailwind
- TanStack
- Stripe
- Shopify
- Mobile
React Native and Expo, shipped to the App Store and Google Play. EAS build and submit, OTA updates, native modules, and RevenueCat for subscriptions.
- Expo
- React
- TypeScript
- RevenueCat
- Backend
TypeScript end to end — Node with Express, and more recently Bun with Hono for the background workers. Python where the work is AI or data. GraphQL and REST, Prisma against Neon Postgres, MongoDB and Redis, queues and signed webhooks.
- TypeScript
- Node.js
- Express
- Bun
- Hono
- Python
- GraphQL
- PostgreSQL
- MongoDB
- Redis
- Prisma
- Neon
- AI
Anthropic, OpenAI, Vertex AI, Gemini, Perplexity and Replicate in production. Python for the evaluation side — an LLM evaluation framework built with Pydantic, LangChain and Langfuse, prompt-chaining across four competency pathways. Structured output, provider fallback, and the monitoring that tells you what the models actually returned. Claude Code, Codex and Copilot in the editor every day.
- Anthropic
OpenAI
- Vertex AI
- Gemini
- Perplexity
- Replicate
- Python
- LangChain
- Pydantic
- Claude
- Copilot
- Cloud & infra
AWS, GCP and Azure across client work; Vercel and a dedicated Hetzner box for my own. Cloudflare R2 for storage, GitHub Actions for CI, Turborepo and pnpm monorepos, Sentry and PostHog for what happens after deploy.
AWS
- GCP
Azure
- Vercel
- Cloudflare
- GitHub
- Turborepo
- Sentry
- PostHog
- Web3
Two decentralised apps at MDRx: Ethereum contract integration behind an internal API, and MetaMask mobile support.
- Ethereum
Education
BSc (Hons) Computer Science, Information and Computing, Brunel University London (2007–2011)
Let's talk
I'm looking for a senior or staff engineering role in the UK, remote or hybrid. If that sounds like your team, I'd like to hear from you.