Skip to content

Work

What I’ve built, and what it changed.

Three case studies, the products I’ve built for myself, and 12+ years of earlier work across four sectors.

Case 01

Data integrity

The report looked healthy. 83% of the records were missing.

Amazon, Global Safety & Risk Control · 2025–26

6×

records covered (358 → 2,158+)

17% → 100%

completeness

The problem

A weekly report tracked training compliance for trainees across the organisation. The table behind it showed 358 people. The real number was more than 2,158. Nothing had crashed and no alarm had gone off. The report was calmly describing 17% of reality.

What I did

I was the only analyst on this reporting area, so there was nobody else to ask. I traced the loss to the source table, then led a redesign from scratch so the report no longer depended on it. Along the way we mapped 200+ data columns and 72 core business fields, so the next person gets a map.

The result

The redesign went live, and the report now covers 2,158+ trainee records where it used to see 358. These days, a pipeline that everyone says is fine is the first thing I check.

Case 02

Applied AI

An AI agent that let non-technical teams question their own data.

Amazon, Global Safety & Risk Control

The problem

If you couldn’t write SQL, you asked an analyst and waited. For every single number.

What I did

I put an AI chat agent into production on the team’s dashboard, so people could ask about compliance and training data in plain language. The same agent read through thousands of training evaluations and pulled out the themes and the mood.

The result

Around five to seven internal teams used it. Small, real, and in production.

Case 03

EU regulation

Which products fall in scope of an EU regulation — before the deadline.

Amazon · EUDR and German WEEE (ElektroG)

What I did

A new EU rule on deforestation meant someone had to work out which products in Amazon’s warehouses were affected. I built the dashboards that answered that, and sent each set of products to the team that could fix it. I also worked on Germany’s take-back rules for electrical and electronic equipment (WEEE / ElektroG), and translated both regulations into what they meant for the business in practice.

Own products

Built on my own time

FinTel: a system built to distrust its own ideas.

96,608

lines of Python

1,339

automated tests

27

scheduled workflows

Measured from the code in autumn 2026.

  1. Step 1
    Public data
  2. Step 2
    Ideas scored
  3. Step 3
    Simulated trades
  4. Step 4
    Evidence ledger
  5. Step 5
    Verdict: edge, no edge, or not enough data

FinTel is my own research system for testing trading ideas. It gathers public market data, turns it into ideas, and tests each one on history and in simulated trading. The rules are fixed before the test runs, so I can’t move the goalposts afterwards.

The part I’m proud of is the discipline. Every idea is written down before it is tested. The research log refuses an entry without a sample size, and “not enough data to decide” counts as a real answer. It has cheerfully killed several of my own ideas, including a popular one: copying the stock purchases that US politicians disclose. Across 38 members of Congress and 2,392 trades, there was no lasting skill to copy.

I make no claims about returns, and none of this is advice.

  • Cipher

    AI visibility measurement

    Working prototype

    Asks AI assistants the questions your buyers ask, then scores how visible your brand is, how it’s described, and who gets recommended instead. Every score links back to the stored answer, so nothing has to be taken on faith. Designed so several organisations can use it without seeing each other’s data, and covered by 68 automated tests.

  • SaySo

    Guided AI briefing

    Prototype

    Most people get poor answers from AI because they don’t know what to tell it. SaySo asks the right questions first, so you get a usable contract, plan or reply on the first try. Twenty-two specialist profiles, from legal and tax to marketing.

  • Reel Extract

    Claim checking

    In use

    Turns a social-media video into still frames and a transcript, so a confident claim in a short clip can be checked against actual data.

Earlier work

By sector, 2014 – 2026

12+ years across retail, pharma, advertising and airlines.

  • Compliance training · Amazon · 2024–25

    One dashboard instead of three

    Dangerous goods, food safety and trade compliance each had their own training data. I brought them together, covering 87,000+ evaluation responses, and fixed how the scores were calculated.

  • Audit and risk · Amazon · 2024–25

    A plan to close an audit finding covering 3,600+ employees

    Scoped a 20-week fix for a dangerous-goods training gap: five layers of data checks, and recertification rules that follow the aviation industry’s 24-month cycle.

  • Incident recovery · Amazon · 2025–26

    300+ training packages back from the dead

    A storage deletion took the training content with it. I led the recovery, then set up an AI assistant over the rescued material for search, translation and plain-language questions.

  • Pharma · Eli Lilly · 2018 – 2021

    The numbers behind a product launch

    Owned the analytics for a new product in an emerging market: who to target, and whether it was working.

  • Pharma · Eli Lilly · 2018 – 2021

    Product tracking, without the manual work

    Automated product and payer performance tracking from end to end. Each analyst got 30+ hours a month back.

  • Pharma · Eli Lilly · 2018 – 2021

    An insights generator, built solo

    A tool that takes a dataset and returns the charts and the findings in minutes. It won the company-wide ideas competition.

  • Advertising · MiQ · 2017 – 2018

    Campaign reports advertisers could act on

    Insight reports before, during and after each campaign: what worked by time, place, device, ad placement, keyword and audience.

  • Advertising · MiQ · 2017 – 2018

    Live campaigns, tuned for margin

    Optimised a wide range of programmatic display campaigns for delivery and profit, with the campaign data processed on AWS and Redshift.

  • Advertising · MiQ · 2017 – 2018

    Who is actually likely to buy

    Conversion-likelihood models for UK businesses’ online campaigns, checked against the people actually targeted, to estimate the extra revenue a campaign produced.

  • Pharma · Mu Sigma · 2014 – 2017

    An early-warning system for prescribing

    For a Fortune 50 pharma client: a time-series model that forecast four to eight weeks of each physician’s performance, to flag the ones drifting off course before the reports showed it.

  • Risk modelling · Mu Sigma · 2014 – 2017

    Predicting losses with machine learning

    Brought in a gradient-boosting model to replace the traditional method, using claim duration, submission delay and case ratios to predict future losses.

  • Airlines · Mu Sigma · 2014 – 2017

    Filling seats with data

    Led two analytics teams for an airline. One measured campaigns with test-and-control matching. The other modelled who was most likely to book, and aimed the marketing at them.