Selected work

Things I have built

Fewer projects, described properly. Each one covers what it does, what went into it, and the part that turned out to be genuinely difficult.

Sports analytics platform

Scout

A football analytics tool that pulls fixtures, results and standings from two external providers, runs them through an expected goals model, and surfaces one considered call per match with the full reasoning attached. It is built to help someone judge a decision for themselves, not to hand them a tip and hope.

66 API endpoints
55,000 lines of backend
Two data providers

What went into it

  • An expected goals model with separate home and away scoring profiles, opponent quality and strength of schedule adjustment, and season aware form decay
  • Model goals cross checked against real shot based xG in a blend, a built in reality check that discounts lucky finishing
  • Cross competition team strength estimated with an iterative goal difference solver over cup and European fixtures, anchored to the Premier League
  • Match and market probabilities from a Poisson goals model, then converted to win, draw and over line prices
  • A backtesting harness that replays the exact production model against completed seasons, tracking accuracy separately by confidence tier
  • An installable progressive web app with a service worker, so it keeps working on a bad connection

The hard part

Every number a visitor sees is the end of a long chain, and the model refuses to hide it. The xG breakdown opens the whole calculation: the team strength ratings, the raw prediction, each adjustment for ranking and stakes, and the final figure. Making that legible without dumbing it down, while the data behind it arrives late, inconsistently and occasionally wrong, was most of the work.

  • Scout xG breakdown showing team strength ratings, the Elo prediction, FIFA ranking and stakes adjustments, and the final expected goals figure

    The full model, opened up: team strength ratings, the raw prediction, every adjustment, and the final expected goals figure. Nothing hidden.

  • Scout match detail showing model probability, expected goals, head to head record and a written verdict

    Every call carries the model probability, expected goals, head to head record and a written argument for and against.

  • Scout tracker showing accuracy by confidence tier above a table of recorded results

    Outcomes are resolved automatically and accuracy is tracked separately for each confidence tier.

  • Scout form table showing rank, points, average goals scored and conceded, split home and away

    Form tables split home and away performance across rolling windows of five, ten and fifteen matches.

Coaching platform

Coached by Big D

A complete platform for an online physique coach: a client portal for check-ins, plans, blood work and progress, and a coach console that runs the whole business. The centrepiece is a projection model that learns how each individual client actually responds and forecasts where their weight is heading.

23 data models
Client portal + coach console
Per client trained model

What went into it

  • A weekly check-in flow capturing weight, training, recovery and nutrition, with voice notes transcribed and summarised
  • A projection model that forecasts weight under full, partial and current effort, with a confidence band that widens as certainty drops
  • A per client layer that learns where each metric's neutral sits and how hard it hits that client, using a ridge regression pulled toward the coach's own settings
  • Blood work upload with markers transcribed from the report and tracked across panels
  • A coach console with a single needs attention queue, client management, scheduling, payments and a rewards system

The hard part

The model had to be honest about what it does not yet know. With little data it defers to the coach's settings; as check-ins accumulate it moves toward what the client's own numbers say, and it reports how much evidence sits behind every figure. A model that quietly invented confidence would be worse than useless to someone making real decisions about a real person.

  • Weight projection chart with full, partial and current effort scenarios and a confidence band, above a per metric breakdown

    The projection: where this client's weight is heading under full, three quarter and half effort, with each check-in metric's effect on the rate broken out below.

  • Trained model panel showing bodyweight and strength responsiveness multipliers with evidence strength

    The trained per client model, and how much it has learned so far. It reports the evidence behind every number rather than inventing confidence.

  • Client portal home showing coaching, personal training, analytics and rewards cards

    The client side: a portal where each person sees their check-ins, plans, sessions, progress and reward points in one place.

  • Coach console dashboard with a needs attention queue of client check-ins awaiting reply

    A single needs attention queue pulls together everything waiting on the coach, from unanswered check-ins to overdue payments.

Want something like this?

Tell me what you are trying to build. I will tell you honestly whether it is a week of work or three months.

Get in touch