Sports-data pipelines at league scale: multi-provider ingestion, schema drift, and analytical stores that answer analyst questions in milliseconds.
6B+
rows ingested into ClickHouse
500ms
P90 on analyst-facing queries
750+
matches auto-ingested per cycle
About me
I am Vansh Bordia, a data engineer who likes the boring parts: idempotent jobs, validated schemas, and a pipeline that can be rerun at 2am without anyone sweating. Half a terabyte of raw broadcast data became structured analytics because the ingestion was built to survive messy sources.
I care about the boring parts because they are what makes the numbers trustworthy downstream: reconciliation checks, retry and rate-limit logic, columnar storage tuned to the actual query pattern, and documentation so the next person can extend it.
Why me
I build the pipes, not just the queries: multi-source ETL that reconciles inconsistent schemas, analytical storage tuned to the query pattern, and ingestion that has not lost a row in production.
I build the pipes, not just the queries. Ingesting multi-source broadcast JSONL with inconsistent schemas, modelling it for analytical workloads, and keeping the pipeline idempotent so a rerun never corrupts a dashboard. 6B+ rows in production ClickHouse at sub-500ms P90.