I build things people actually use.
Hand-coded websites and native iOS apps — designed, built and shipped by one developer, start to finish. Eight years. 30+ projects. Zero templates.
<work> — three live client launches this quarter
// case_01 — client build · web + iOS
Top Bins flagship build
A full-stack fantasy betting game for @playtopbins — mates predict every World Cup 2026 match, climb 50 ranks and fight over a weekly prize pot. Shipped as an installable web app and a native iOS app, both on one live backend.
Server-authoritative end to end: a deterministic odds engine ported byte-for-byte between Swift and TypeScript so both platforms quote identical prices, every bet settling against live API-Football results inside idempotent Firestore transactions — with Stripe payments, a social feed, leaderboards and a penalty mini-game on top.
play the live game ↗

// case_02 — trade website · real-time 3D
CJB Electrical
Most tradesmen get a template. A local electrician got an agency-grade showcase hand-coded from a blank file — and it's not a video, it's live 3D on the GPU. You launch in from space, a plug sparks into its socket, the door swings open and you fly through a wireframe house as the lights, sockets and fuse board switch on — each room a section of the site.
Scrolling scrubs a cinematic camera along a hand-plotted flight path — procedural geometry, refractive glass, filmic tone-mapping and bloom — yet it still performance-tiers for phones, falls back to a fast flat site, respects reduced-motion and ships full technical SEO.
visit the live site ↗




// case_03 — platform build
Pacemates phase 2 in build now
The home of independent running clubs. Phase 1 shipped a live club directory — interactive map, club profiles, applications in under a minute — on a real database with accounts and email built in.
Phase 2 is being built right now: a full social network — profiles, ticketed events, Stripe payments, messaging, feeds and Strava integration.
visit the live site ↗<reviews> — in their words, not mine
Clients ship with me
more than once.
<process> — one person, three steps
Brief to live,
without the agency circus.
The brief
A real conversation, not a form. We pin down what the build needs to do — win jobs, take bookings, capture leads — and I reply with a fixed quote within 24 hours.
Design
I design in the browser, on your brand, mobile-first. You see a real working preview link early — not a static mock-up you have to imagine moving.
Launch & handover
Zero-downtime switch-over on your domain, SSL, redirects and SEO handled. You own everything — no monthly fees, no lock-in.
<pricing> — simple and honest
Every project quoted to fit.
Here's where things start.
const onePager = { from: "£500", includes: [ "custom design & build", "mobile-first & accessible", "contact / enquiry section", "SEO basics & metadata" ] }; // a sharp single page
const businessSite = { from: "£1,200", includes: [ "multiple sections / pages", "services, gallery, reviews", "technical SEO, fast load", "lead capture that pings you" ] }; // like the CJB build
const customBuild = { from: "£2,500+", includes: [ "accounts, admin & databases", "bookings, payments, maps", "custom functionality", "performance tuned" ] }; // like Pacemates
// also building native iOS apps — MVPs from £3,500, full products from £7,000. Ask.
<lab> — my own products, built to learn fast
Where the hard
problems get solved.
MTCHA
A social app for matcha people — feeds, profiles and photo sharing on a real-time cloud backend.
Beero
A session tracker that keeps the night honest — fast logging, live totals and a morning-after report.
This site, in 3D ↗
The cinematic cut of this page — a real-time 3D engine I hand-built: bloom, FXAA and chromatic-aberration post-processing, no frameworks.
$ git push origin live — your project is the next deploy
yours.
Tell me what you're making and I'll tell you exactly how I'd build it — with a straight answer on price and timeline within 24 hours.