Selected work

Bespoke work completed

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
  • Squad level adjustments that read each side's injuries and transfers in and out, and move the projection by named player
  • 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: base averages, the schedule adjustment, the real xG blend, the raw formula, every multiplier down to individual squad changes, 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.

  • Top Picks: the strongest call across every competition, each with expected goals, odds, value and a confidence read.

  • The full model, opened up: base averages, schedule and blend adjustments, every multiplier down to individual squad changes, and the final xG. Nothing hidden.

  • Every published pick is graded automatically, with the win rate tracked separately for each confidence tier.

  • The form table: points, goals split home and away, last five results, schedule difficulty and scoring streak, over rolling windows.

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 projection 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
  • Email configured directly to and from the site, handling incoming enquiries and outgoing client reminders without a third party inbox
  • A coach console with a single needs attention queue, client management, scheduling, payments and a rewards system

The hard part

Two hard problems ran side by side. One was making the whole path, from a stranger's first enquiry to a signed client checking in to the coach responding, run smoothly enough that nothing falls through: every reply, reminder and review sits in one place and chases itself. The other was the model. Tailoring a projection to each client's own recorded numbers, while staying honest about how little it knows early on, meant a model that defers to the coach until the client's own data earns the right to overrule it.

  • 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.

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

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

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

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