Live sports data, across a publishing group.
A backend that ingests sports data from an external feed, normalizes it, and makes the latest results available across a publishing group’s portals, each with its own presentation layer.
The project, at a glance
The system retrieves newly published files from the external data provider.
Every source file is retained before processing, so the original input remains available if parsing fails.
A scheduled job reads the files, extracts the records, and normalizes them into a single schema.
Standings, results, and statistics are stored as queryable records rather than scattered files.
The API exposes the latest normalized data while events are underway.
A library of customizable components lets each publication apply its own colors and visual style.
One backend, with a distinct presentation for every portal.
Source files are retained before processing. Scheduled parsing and the API operate on the normalized data, while each publication embeds the same widget library with its own styling rather than duplicating the implementation.
A single backend supplies multiple portals from one normalized dataset, while each publication controls its own presentation.
The architecture is designed for live-event traffic spikes.