Selected work

Shipped, not slideware.

Two of these are mine, so I can show you the whole thing — code, billing, the lot.

Own products

Built and run by me.

No handover boundary to hide behind.

Weld

Drop in a Figma file, get production-ready Tailwind back. Researched, built, launched and sold on my own.

97k

lines shipped

4

LLM providers

Live

Stripe billing

  • Reverse-engineered Figma’s undocumented binary format
  • Every page verified at three breakpoints before it ships
Python FastAPI React Stripe

weldhtml.com

Long Shot Merchants

Football predictions that publish their own accuracy record instead of claiming one.

218

leagues, nightly

~200

model features

6

betting markets

  • Calibrated models, so 70% confidence means 70% in practice
  • Paid content gated server-side, not hidden in the client
Next.js 16 React 19 XGBoost MySQL

longshotmerchants.co.uk

Client work

Inside other people’s teams.

Named where I’m free to name them.

Colgate-Palmolive

GenAI agent platform

An internal platform for building and running AI agents, delivered inside the client’s own product team.

  • Loose business briefs turned into shippable technical specs
  • Estimated and prioritised against the annual roadmap
Python FastAPI Next.js PostgreSQL

B2B SaaS · anonymised

Multi-tenant authorisation layer

Added an organisation tier to a live product without a migration any customer noticed.

274

Playwright tests

50

migrations

0

breaking changes

  • Permissions resolved when the token is minted, not on every request
Next.js TypeScript Supabase PostgreSQL

Insurtech · anonymised

Point-of-sale insurance app

Sold at the jewellery counter and live in minutes: capture, photos, payment, policy.

  • Stripe trial-to-annual lifecycle with webhook retries and audit logging
  • Policy numbering, PDFs and email all generated automatically
PHP Stripe HubSpot NetSuite

Telehealth, South-East Asia · anonymised

Web platform and API

Took an established mobile telemedicine product to the web, and led the API behind it.

  • Ran the client relationship directly, on a fortnightly review cycle
React C# .NET Azure

Yahoo! Sports

Legacy platform migration to AWS

Kept a high-traffic sports platform provable while it moved to AWS.

  • Rebuilt the integration test path so the migration could actually be verified
PHP AWS Kubernetes

BBC

Pan-BBC games API

One API behind CBBC and CBeebies games — scores, saves, multiplayer and sign-in.

Millions

of users weekly

100s

of requests/sec

Java Spring MongoDB OAuth

Full history on the about page.

Available now for contract work in Singapore

If any of this looks like the problem you have, send it over.

Available now Singapore, on-site or hybrid Full-time contract engagements Fixed-scope projects Day rate on request