The problem
Live match and racing data is only valuable while it's current — odds move, lineups change, results land — and it comes from sources (live score pages, form guides) that were built for a human refreshing a browser, not a system that needs it continuously and accurately. Capturing it well means handling pages that change shape mid-event, not just once a day.
What was built
Continuous capture pipelines for live match data (scores, events, timing) alongside historical form/odds aggregation, feeding into structured storage designed for two different access patterns: real-time ("what's happening now") and historical ("what's the form line for this selection"). Settlement — matching a live outcome back to the original selection and recording the result — closed the loop.
Why this is the hard part
Capturing a live page once is trivial. Capturing it reliably across an entire event — without missing the moment something changes, and without the pipeline quietly falling over when a source's markup shifts mid-season — is the actual problem. This exact pattern is the direct precursor to FingertipForm, a production subscription tipping platform built from the same foundations: live capture, settlement, and a performance record that's kept in full rather than curated after the fact. See the full ingestion & settlement write-up.