Air Quality Prediction, End to End

A complete MLOps pipeline on the UCI air-quality dataset: experiment tracking, streaming ingestion, drift monitoring.

Python · XGBoost · MLflow · Kafka · Docker · Evidently AI

runsretrain signalUCI dataKafkastreamingXGBoosttrainingMLflowexperimentsprediction APIdockerEvidentlydrift monitor
architecture

Most ML course projects end at a notebook with a good metric. Real systems fail after that point: untracked experiments, data that drifts, models that quietly degrade in production with nobody watching.

I built the whole lifecycle for an air-quality prediction model on the UCI dataset. XGBoost models with every experiment tracked in MLflow, real-time data ingestion through Kafka, and a prediction API packaged in Docker. Monitoring dashboards built with Evidently AI watch for data drift and performance degradation, so the system tells you when it is going stale instead of waiting to be caught.

A reproducible, modular pipeline with continuous evaluation baked in. Ingestion, training, serving, and monitoring as one system rather than a notebook and a prayer. It was my first full answer to what production ML means beyond the model file.