Work

Selected work.

Built end-to-end — design and engineering by the same two people. We'd rather show the ones we're proud of than pad the list.

Case studies
5
Shape
Platforms / sites / systems
Default
Design + engineering

/work/coast-competitions

Live proof needed

Coast Competitions

A UK skill-based competitions platform — CMS-driven launches, Stripe ticketing with Apple and Google Pay, and provably-fair automated draws.

Seeded drawsStripe ticketingCMS launches
Next.js 15Neon PostgresStripe

2026 · fixed launch window · design + engineering · founder client

/work/qzee

Owned product

QZee

A booking platform for service businesses — customer and owner apps, a GraphQL API, payments, and the infrastructure underneath.

Product surfacesGraphQL APIPayments
Next.jsGraphQLAWS

2024–2026 · platform · design + engineering

/work/runite

Real captures needed

Runite.Club

A platform for running clubs — communities, events on a map, and memberships and ticketing through Stripe Connect.

MapsStripe ConnectCommunities
ReactFirebasePostmark

2025–2026 · platform · design + engineering

/work/base-blu

Client approval needed

Base Blu Training Club

A front-of-house site that sells a training club and shows a live timetable — pulled straight from QZee — then hands off to booking.

Live timetableQZee APIEditorial fallback
Next.jsTailwindVercel

2026 · marketing site · design + engineering

/work/mtcc

Private beta

MTCC Diagnostics

A multi-tenant diagnostics platform — build a diagnostic, run it, and score it, including an ISO 9001 mode.

ISO modeTenant isolationScoring
ReactExpressFirebase

2025–2026 · platform · private beta

Proof ledger

No fake proof. The status is part of the work.

/work/coast-competitions

Live proof needed

Coast

Evidence on page

  • Seeded draw engine designed to be recorded and replayed
  • Stripe ticketing with Apple Pay and Google Pay
  • CMS-operated competition launches

Needed before launch

  • Approved live screenshots
  • Client permission to show admin flow
  • Approved launch/outcome claims

/work/qzee

Owned product

QZee

Evidence on page

  • Marketing site, customer app, owner app, and mobile surface
  • Shared design system across product surfaces
  • Payments, API, workers, and infrastructure underneath

Needed before launch

  • Approved current product captures
  • Live customer/owner journey screenshots
  • Any public traction claims must be approved

/work/runite

Real captures needed

Runite

Evidence on page

  • Map discovery and event detail flow
  • Owner portal for communities, events, members, and payouts
  • Stripe Connect path for tickets, memberships, and owner subscriptions

Needed before launch

  • Real product captures
  • Public/private disclosure decision
  • Approved launch status wording

/work/base-blu

Client approval needed

Base Blu

Evidence on page

  • Front-of-house pages designed to hand off to booking
  • Live timetable data pulled from QZee
  • Editorial fallback when API data is unavailable

Needed before launch

  • Client approval to show the work
  • Homepage and timetable captures
  • Confirm public launch URL and status

/work/mtcc

Private beta

MTCC

Evidence on page

  • Admin builder, respondent runner, and scored result loop
  • Tenant isolation by account
  • Configurable scoring including ISO 9001 mode

Needed before launch

  • Private-beta disclosure decision
  • Approved anonymised screenshots
  • Confirm which diagnostic examples can be shown

Want to be the next one?

We take on a handful of projects a year. If yours is a fit, you'll get a fixed quote after one paid week of discovery.

Start a project