Racing Data Platform · Confidential · 2025

Race Feed

An experimental data-ingest pipeline Remiam built for a racing-data client. A live feed of horse and dog racing data streams into a local Nuxt service, normalised and sorted into a local SQLite store, then surfaced as cleanly-structured content their live platform can consume.

ClientRacing Data Platform · Confidential
Year2025
DisciplineLive Data Pipeline · Local Ingest · Experimental
LIVE FEED · SQLITE · INGEST · 2025EXPERIMENTAL MVPLIVE FEED · INR12 · 14:32 · ASCOTodds → 4/1 · 3/1 · 11/2going: GD-FMR09 · 19:48 · MONMOREtrap 4 · 6.1s splitR12 · RUNNER · LOT 7scratchedR14 · 15:05 · CHEPSTOW3 fences clearedin-running 9/4R09 · DOG · TRAP 6finish 1st · 28.41sHORSE + DOG · MIXEDINGESTLOCAL NUXT SERVICENORMALISE→ consistent shapeSORT · DEDUPE→ runners / races / eventsPERSIST→ SQLiteNODE · TYPESCRIPTRUNS ON-PREMSQLITE · STRUCTUREDraces42 rowsid · venue · time · type · status━━━━━━━━━━━━━━━━━━━━━━━━━━━━R12 · ASCOT · 14:32 · H · LIVErunners386 rowsid · race_id · name · odds━━━━━━━━━━━━━━━━━━━━━━━━━━━━R12.07 · LIAM'S PRIDE · 3/1events2,184 rowsid · race_id · ts · type · payload━━━━━━━━━━━━━━━━━━━━━━━━━━━━E.94 · R12 · 14:36 · jump · ok→ LIVE PLATFORMSUBSCRIBE · NORMALISE · STORE · SERVEPROJECT · RACE FEED32
About this project

The brief, the build, and the result.

Race Feed is the experimental data-ingest pipeline Remiam built for a racing-data platform client in 2025. The brief: take a live feed of horse and dog racing data — runners, odds, going, course conditions, in-race events — and turn it into something the client's live platform could read cleanly. Remiam built a local Nuxt 3 service that subscribes to the feed, processes each update on arrival, normalises the heterogeneous payloads into a consistent shape, sorts and de-duplicates the data, and persists everything into a local SQLite database structured for downstream querying. The result is a stable, queryable surface — runners separated from races, results separated from odds, in-race events queued for replay — that the client's production platform reads from. Designed as an experimental MVP to prove the ingest model end-to-end before committing to a production architecture.

Highlights
  1. 01Subscribes to a live racing data feed (horse + dog)
  2. 02Processes and normalises each update on arrival
  3. 03Sorts and de-duplicates into clean, structured tables
  4. 04Persists to a local SQLite database for fast queries
  5. 05Structured output surface read by the client's live platform
  6. 06Experimental MVP — designed to prove the model before production scale-up
  7. 07Local Nuxt 3 service, runnable on-premise alongside the live platform

Build something like this with Remiam.