Available for new projects · Manchester, UK · Replies in 24h

Hand-coded websites & platforms that sell.

Eight years, 40+ clients. Websites, custom platforms and native iOS apps — designed, built and shipped by one developer, start to finish. No agency, no templates, no lock-in.

Seven most recent launches

PJB Joinery & Building · End of Play Golf · Johnson Homes
Pacemates · SoftLaunch Marketing · CJB Electrical · Top Bins

8

Years building

40+

Clients shipped

7

Most recent, shown below

100%

Hand-coded

<work> — index

40+ clients.
The seven most recent.

Eight years of client work sits behind this page. These are the seven newest — every one designed, built, tested and launched by me. Real businesses, real domains, real revenue running through them. Everything below is a screenshot of the live site.

01 PJB Joinery & Building Trade site · local SEO 2026 · Live 02 End of Play Golf Brand site · cinematic scroll 2026 · Live 03 Johnson Homes Lettings platform · web + admin 2026 · Live 04 Pacemates Social platform · phase 2 in build 2026 · Live 05 SoftLaunch Marketing Studio site · DM-first enquiries 2026 · Live 06 CJB Electrical Trade site · real-time 3D 2026 · Live 07 Top Bins Betting game · web + native iOS 2026 · Live
01

Client build
Trade site

PJB Project Joinery & Building — Bolton

Sixteen years of word
of mouth, made searchable.

PJB have built in Bolton since 2010 — 5.0 on Google, two directors still on the tools, every trade in-house. Their reputation travelled by recommendation and barely existed online.

The work is the proof, so the work leads. Twenty-two projects across eight filterable categories — if someone only wants to see bathrooms, they see bathrooms. Each one shot on site, captioned and categorised rather than dumped into one scrolling wall.

Underneath sits nine service pages built for how people actually search — kitchen fitters in Bolton, roofing across Bolton, Bury and Horwich — instead of one generic services page competing with everyone.

Every route out is a WhatsApp deep link with the message already written, alongside tap-to-call and a sticky action bar pinned to the bottom of every phone screen. The FAQ answers the cost question straight — extensions from the £30,000s — rather than making people ring to find out.

TypeTrade site · local SEO
Projects22, eight filterable categories
Service pages9, built for local search
EnquiriesPre-composed WhatsApp deep link
Reviews5.0 on Google, seven shown
CoverageBolton, Bury, Horwich, Westhoughton
Filterable galleryLocal SEOWhatsApp deep links Sticky mobile barFAQ
Visit pjbltd.co.uk
PJB — builders and joiners in Bolton, homepage
PJB — 22 projects across eight filterable categories
PJB — real reviews, verified on Google
PJB — how we work, four steps

A trade that lived on recommendation, given somewhere to send people.

02

Client build
Brand site

End of Play Golf — bespoke golf apparel

Eight pages of thin content,
rebuilt as one deliberate scroll.

End of Play design and manufacture bespoke clothing for golf clubs — Nairn, Sunningdale Heath, West Sussex, Royal Ascot, Farnham, Effingham. Hand-drawn artwork, made in the UK. Their old site had a problem: you couldn't actually see the product, and it weighed 15MB.

Rebuilt as a single cinematic scroll. The background interpolates through defined stops as you move down, so the page gets quieter and more serious the further in you go. The club-crest strip is tied to your scroll velocity — it accelerates, reverses, and settles to a drift when you stop.

Their crests were invisible on black, and inverting them turned a teal ship pink. So each mark's alpha channel is extracted and composited onto solid bone — a clean silhouette that keeps the exact shape of the club's identity.

The contact form became a three-question conversation in their own brand voice that hands off to WhatsApp with the brief already written. No Meta API, no per-conversation billing — a deep link, zero infrastructure.

Image payload15MB → 626KB (−96%)
Routes8 pages → 1 scroll, redirected
JavaScript~128KB gzipped, code-split
Console errors0 across all routes
Enquiry infraNone — no server, no fees
MotionGated at framework level
Scroll-linked motionAVIF / WebP pipelineWhatsApp pre-chat Reduced-motionSmoke-tested
Visit eopgolf.com
End of Play Golf — homepage hero, Your Vision Brought to Life
End of Play Golf — recent projects, the expanding club panels
End of Play Golf — the EOP x Nairn project story
End of Play Golf — branded three-question WhatsApp pre-chat

A counter once read “0% Bespoke Design” for a company whose entire proposition is bespoke design. Now the site fails to the truth, not to zero.

03

Client build
Lettings platform

Johnson Homes — Manchester

A family lettings business
that owns its whole platform.

A Manchester family has housed students since 1986 — Landlord of the Year 2024 and 2026, 5.0 on Google. They were renting their online presence from portals and agencies. They wanted to own it.

So I built the whole thing from a blank file. Group-size search, a custom-branded map pinning every home against every university, Matterport 3D tours on each property, a love-heart shortlist and one enquiry that covers a whole student group. No account, no friction.

Behind it sits the part clients never usually get: a control-room dashboard the family run themselves. Add and edit homes, work a leads inbox, flip statuses, get an email the second an enquiry lands. No developer needed, no portal bill, no spreadsheet.

TypeWebsite + agent platform
Front endHand-coded, framework-free
Back endFirebase · auth, data, alerts
Property toursMatterport 3D, every home
DeliveryBrand, build, SEO, QA, handover
OwnershipClient owns it outright
FirebaseInteractive mapAdmin dashboard Structured dataPrerenderedMobile-first
Visit johnsonhomes.co.uk

Client — David

★★★★★

“Sean has done a fantastic job designing and building our new website. We're absolutely delighted with it. Nothing has been too big an ask — he's such a talented coder. I've no hesitation in recommending Sean. If you need a website or app building — he's your man.”

David Johnson · Johnson Homes (Manchester) Ltd

Johnson Homes homepage — group-size search over the hero
Johnson Homes — interactive map showing every home against every university
Johnson Homes — property page with gallery, bills and 3D tour
Johnson Homes — shortlist, enquire about several homes at once
Johnson Homes — the agent dashboard the family run themselves

Public site and the agent dashboard behind it — screenshots of the live build.

04

Client build
Platform · phase 2

Pacemates — independent running clubs

Phase 2 was commissioned
two days after phase 1 went live.

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 in build now: a full social network. Profiles, ticketed events, Stripe payments, messaging, feeds and Strava integration. Same client, bigger build, two days after launch.

Phase 1Directory, map, accounts — live
Phase 2Social network — in build
BackendFirebase · auth + email
ComingEvents, Stripe, messaging, Strava
FirebaseInteractive mapAccounts & authStripe (phase 2)
Visit pacemates.net

Client — founder

★★★★★

“From idea to launch, the whole process was professional and delivered exactly what I envisioned. Excited to keep building PaceMates.”

Founder · Pacemates — phase 2 commissioned two days after launch

Pacemates — Find Your Pacemates landing screen
Pacemates — discover independent running clubs
Pacemates — a club profile page
Pacemates — the admin dashboard

Phase 1 is live. The social layer, events and messaging are the phase 2 build in progress.

05

Client build
Studio site

SoftLaunch Marketing — Manchester

One file. No forms.
Every enquiry lands as a DM.

A Manchester marketing studio — social media management, paid ads on Google and Meta, branding and strategy. They needed a site that looked as considered as the work they sell, and they needed it live quickly.

The entire site is one hand-written HTML file. No framework, no build step, no dependency to break in six months. It drops onto Cloudflare Pages as a folder and it's live in under a minute.

There is no contact form anywhere on it. Every enquiry route is a pre-composed Instagram DM — the visitor picks what they need and the message writes itself before the app even opens. No inbox to monitor, no spam, no backend to pay for. Shipped with a branded 404, security headers, cache rules and full metadata.

TypeMarketing studio site
BuildSingle file · no build step
EnquiriesPre-composed Instagram DM
InfrastructureNone — static, zero cost
Shipped with404, headers, cache, robots
Time to deployUnder a minute
Hand-written HTMLZero dependenciesDM-first enquiries Cloudflare PagesSecurity headers
Visit softlaunchmarketing.com
SoftLaunch Marketing — Give your business personality
SoftLaunch — what we do, the four services
SoftLaunch — how it works, three steps
SoftLaunch — the DM enquiry panel that composes the message for you

Thoughtful strategy, elevated design, measurable growth — and not a contact form in sight.

06

Client build
Real-time 3D

CJB Electrical — Manchester

Most tradesmen get a template.
This one got a GPU.

A local electrician's site, hand-coded from a blank file. And it isn't a video — it's live 3D running 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 is a section of the site.

Scrolling scrubs a cinematic camera along a hand-plotted flight path — procedural geometry, refractive glass, filmic tone-mapping, bloom. It still performance-tiers for phones, falls back to a fast flat site, respects reduced-motion and ships full technical SEO.

RendererWebGL · Three.js
GeometryProcedural, no imported models
CameraScroll-scrubbed flight path
MaterialsPBR + refractive glass
MobilePerf-tiered + flat fallback
Three.jsCustom shadersPost-processing Reduced-motionTechnical SEO
Visit cjbelectrical.uk

Client

★★★★★

“Sean built the best electrician site in Manchester, exactly what I wanted — took all our Facebook reviews and photos himself and filled it with our content without us needing to do anything.”

CJB Electrical Ltd · Worsley, Salford

CJB Electrical — launching in from space
CJB Electrical — the door swings open
CJB Electrical — in the hallway, full-service solutions
CJB Electrical — in the kitchen, your local electrician

Live 3D on the GPU. Scroll scrubs the camera through the house — each room is a section of the site.

07

Client build
Web + native iOS

Top Bins — World Cup 2026

One odds engine.
Two platforms. Identical prices.

A full-stack fantasy betting game where 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. The deterministic odds engine is ported byte-for-byte between Swift and TypeScript, so both platforms quote exactly the same price. Every bet settles against live API-Football results inside idempotent Firestore transactions — with Stripe payments, a social feed, leaderboards and a penalty mini-game on top.

PlatformsWeb app + native iOS
LanguagesTypeScript + Swift
UIReact + SwiftUI
SettlementIdempotent Firestore transactions
PaymentsStripe (GBP)
OddsCustom deterministic engine
FirebaseStripeAPI-Football LeaderboardsSocial feed
Play at playtopbins.com
Top Bins — World Cup 2026 match list with live odds
Top Bins — the pick-your-corner penalty mini-game
Top Bins — leaderboard and the 50 ranks
Top Bins — the weekly prize pot

If the Swift and TypeScript engines ever disagreed by a penny, the build failed. They never disagreed.

<process> — one person, three steps

Brief to live, without
the agency circus.

01 /

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.

02 /

Design in the browser

On your brand, mobile-first. You get a real working preview link early — not a static mock-up you have to imagine moving.

03 /

Launch & handover

Zero-downtime switch-over on your domain, SSL, redirects and SEO handled. You own everything — nothing is rented back to you and you are never locked in. Ongoing support is there if you want it, never as a condition.

<pricing> — quoted, not guessed

Three questions decide
what it costs.

There is no price list, because no two of these are the same job. Does anyone need to log in? Does money change hands on it? Does it need to live on a phone as an app rather than a website? Your answers put you in one of three, and the rest is quoted on what the build actually has to do.

01 / Website

Nobody logs in

It exists to win the enquiry. One deliberate page, or a full brand site with custom motion — design, build, technical SEO, an enquiry route that pings you, domain switch-over and handover.

  • Like SoftLaunch — one file, no forms
  • Like PJB — 22 projects, nine service pages
  • Like End of Play — a cinematic scroll

02 / Platform

Someone logs in

The moment there is a database, accounts, a leads inbox or payments, it stops being a website. You get an admin you run yourself, so nothing needs a developer after launch.

  • Like Johnson Homes — site plus agent dashboard
  • Like Pacemates — accounts, maps, events
  • Bookings, memberships, marketplaces

03 / iOS app

It has to be an app

Native Swift and SwiftUI, with the backend, accounts and payments behind it. Prove the idea in TestFlight first if you would rather not commit to the whole thing.

  • Like Top Bins — web and native on one backend
  • TestFlight MVP to test the idea
  • App Store submission handled

Tell me what it has to do and you will have a fixed price and a timeline inside 24 hours — no bands, no day rates, no surprise invoices. Optional support afterwards if you want it, never as a condition.

<lab> — my own products

Where the hard
problems get solved.

Client work pays for the hours. These are where the techniques come from.

Lab_01 · iOS

MTCHA

A social app for matcha people — feeds, profiles and photo sharing on a real-time cloud backend.

Social feedAccountsPush

Lab_02 · iOS

Beero

A session tracker that keeps the night honest — fast logging, live totals and a morning-after report.

SwiftUILocal-first data

Lab_03 · WebGL

A portfolio in pure 3D

A real-time 3D engine I hand-built to see how far a site could go: bloom, FXAA and chromatic-aberration post-processing. No frameworks, zero build step.

Three.jsCustom shadersNo build step

<contact> — three questions

Let's build
yours.

Answer three questions and I'll write the brief for you. Send it as a DM and you'll have a straight answer on price and timeline within 24 hours.

01 / What are you building?
02 / Rough budget?
03 / When do you need it?

Your brief

Pick an option above and your brief writes itself.
Send by email

Instagram doesn't allow pre-filled messages, so the brief is copied to your clipboard — paste it straight into the DM. Or send it by email and skip the app entirely.