Work

Things I Shipped

Esports platforms, a neighbourhood exchange, a therapy practice, a wedding invitation and an events product. Built from scratch, 6 live and 1 in open beta.

7 projects
HomeWork
Everything Else
6 more builds

A competitive esports platform for PUBG on Xbox and PlayStation 5, built to replace the scattered Discord servers and spreadsheets European console teams were using to run competition. It handles signups and brackets, logs every match, and computes a custom CGZ Rating from real performance across lobbies, broken down per map.

Role
Design and build
Stack
PHP, Tailwind, MySQL, PUBG API, Discord

OutcomeResults stopped being a matter of opinion.

A site for a BABCP-accredited CBT therapist running a private practice in Surbiton and online across the UK. Sessions in person or remote, a specialties page that takes eight conditions in turn, from the common signs to how CBT treats each one, insurer details up front, and three ways in that match how people actually get in touch: a booking request, a free first chat and WhatsApp.

Role
Design and build
Stack
PHP, Tailwind, MySQL, APIs

OutcomeA practice that takes bookings instead of emails.

The official PUBG API deletes match history after fourteen days. GOSU keeps it: full statistical tracking with K/D, ADR, headshot rates and per-weapon data, 2D match replays rebuilt from real telemetry with scrubbing controls, and stream overlays for OBS. Steam, Xbox and PlayStation, currently in open beta.

Role
Design and build
Stack
Next.js, Postgres, Discord, APIs

OutcomeA record that survives the API deleting it.

27 Shots turns every guest's phone into a disposable camera. Scan a QR code at the event, with nothing to install, and you get a roll of 27 shots, or however many the host sets. The host decides when the photos develop: live on the night, when it ends, or at a time they pick. When the roll closes, the platform can cut an auto-edited film from everyone's shots, as a paid extra.

Role
Design and build
Stack
PHP, GSAP, APIs

OutcomeEvery guest shooting, and every photo in one place.

A wedding invitation site for my cousin Beth and her husband Scott. Its one job was to collect replies reliably from guests of every age, on whatever phone they already owned, so it opens as a sealed envelope you tap to break and then puts the day in front of you: a countdown, the order of the day, an FAQ that answers what guests actually ask, and a gift page that keeps the bank details behind a button.

Role
Design and build
Stack
PHP, Tailwind, GSAP

OutcomeThe replies came back through the site.

A weekly diary with recommendations and guides, written from Kingston upon Thames and ranging out to Napoli, Marrakech and Istanbul. It is laid out like a magazine: each week is a numbered issue, and the site runs in six sections, About, This Week, Talk, The Private Diary, The Vault and Guides. Editorial rather than bloggy: the typography carries it, the photography is given room, and the whole thing is built to be read on a phone on a train.

Role
Design and build
Stack
HTML, CSS, JavaScript, Adobe

OutcomeA personal site that reads like a magazine, not a template.

Built With

The stack behind it

What I build with, grouped by the job each tool does. The count on each one is how many of the builds above run on it, read from the projects themselves rather than claimed.

Tools
26
On these builds
13
Builds
7

Interface

8 tools, on 7 of 7 builds

  • Tailwind

    Styling

    Used on 4 of 7 builds
  • GSAP

    Animation

    Used on 2 of 7 builds
  • Next.js

    Framework

    Used on 1 of 7 builds
  • HTML

    Markup

    Used on 1 of 7 builds
  • CSS

    Layout

    Used on 1 of 7 builds
  • JavaScript

    Interaction

    Used on 1 of 7 builds
  • React

    Interface

    Used on 0 of 7 builds
  • PWA

    Installable

    Used on 0 of 7 builds

Server

3 tools, on 5 of 7 builds

  • PHP

    Language

    Used on 5 of 7 builds
  • Node

    Runtime

    Used on 0 of 7 builds
  • Python

    Language

    Used on 0 of 7 builds

Data

3 tools, on 4 of 7 builds

  • MySQL

    Database

    Used on 3 of 7 builds
  • Postgres

    Database

    Used on 1 of 7 builds
  • Supabase

    Platform

    Used on 0 of 7 builds

Content

3 tools, on 0 of 7 builds

  • WordPress

    CMS

    Used on 0 of 7 builds
  • Elementor

    Page builder

    Used on 0 of 7 builds
  • Plugins

    Extensions

    Used on 0 of 7 builds

Connections

6 tools, on 5 of 7 builds

  • APIs

    Integration

    Used on 4 of 7 builds
  • Discord

    Sign-in

    Used on 2 of 7 builds
  • PUBG API

    Game data

    Used on 1 of 7 builds
  • Stripe

    Payments

    Used on 0 of 7 builds
  • WebSockets

    Realtime

    Used on 0 of 7 builds
  • AI

    Workflows

    Used on 0 of 7 builds

Design and hardware

3 tools, on 1 of 7 builds

  • Adobe

    Design

    Used on 1 of 7 builds
  • PCB Design

    Hardware

    Used on 0 of 7 builds
  • Firmware

    Embedded

    Used on 0 of 7 builds