Jibran Khan

Jibran Khan

Data Scientist and ML/AI Engineer, Copenhagen, Denmark

I build machine learning and AI systems that run in production, from data pipelines and models to deployment, monitoring and evaluation.

Physicist with a PhD and ten years of experience in atmospheric and acoustic simulation, now building end-to-end ML pipelines, MLOps workflows and AI agents. Every project here is live, open source and documented.

Projects

Production ML and agentic AI

End-to-end systems with automated pipelines, CI/CD, tests and monitoring. Each one is live and open source.

Ask Statistics Denmark

An AI agent that answers questions about Denmark with official statistics. It uses RAG over 2,300 tables and LLM tool calling to find the right table, fetch the numbers and cite the source, and it shows every step it took.

Hybrid search (BM25 and vector search with pgvector) evaluated on 48 labelled questions and tracked in MLflow. The agent answers 80 to 87% of test questions correctly and declines every question the data cannot answer.

Python, LLMs, RAG, AI agents, tool calling, pgvector, PostgreSQL, SQL, MLflow, Gradio, CI/CD, GitHub Actions

Copenhagen NO₂ forecast

A production-ready MLOps pipeline that forecasts hourly air pollution for the next 24 hours at a busy Copenhagen street. Data ingestion, model scoring and the public dashboard update every hour without manual work.

30% more accurate than a persistence baseline. Versioned training data, experiment tracking and a model registry, weekly automated retraining with champion and challenger models, and daily monitoring of accuracy and data drift.

Python, SQL, PostgreSQL, LightGBM, MLOps, MLflow, FastAPI, Docker, CI/CD, GitHub Actions

LLM gateway

A REST API in front of three LLM providers (Groq, Gemini and OpenRouter) with automatic failover. When one provider fails, the request moves to the next, and every attempt is logged with its latency and error.

Built and tested while providers retired a model, moved a free model to paid only and returned overload errors. The gateway kept answering without any change for its users.

Python, FastAPI, REST API, LLMs, Docker, pytest, CI/CD, GitHub Actions, Render

Applied ML research

Peer-reviewed deep learning studies from 2026, with code, data and trained models openly available.

Fine-tuning audio transformers for vehicle sound classification

Fine-tuned pre-trained audio transformers (BEATs, AST) to recognise vehicles by sound, trained on recordings from Germany and tested on recordings from Australia.

77% better than a CNN baseline. ArcFace metric learning raised the rarest class, buses with 53 training samples, from 0.38 to 0.54 F1.

Python, PyTorch, Hugging Face Transformers, transfer learning, domain adaptation, scikit-learn, librosa

Figure: Khan (2026), Acoustics 8(3), 63. CC BY 4.0.

Synthetic training data from physics and generative AI

Trained a vehicle sound classifier on real recordings plus synthetic sounds from a physics simulator and from AudioLDM, a text-to-audio diffusion model, then tested it on recordings from other countries and microphones.

Combining both synthetic sources improved balanced F1 by 55% over training on real data alone.

Python, deep learning, CNN, generative AI, diffusion models, data augmentation

Figure: Khan, Ryzhikov and Kolehmainen (2026), Applied Sciences 16(14), 7234. CC BY 4.0.

How I work

  • Check the data before the model. Most problems start in the data, so that is where I look first. In the forecasting project this uncovered mislabelled years in a provider's API and a silent change in how seven years of measurements had been processed.
  • Measure every change. Each change is compared with a baseline and logged in MLflow. When hybrid search first made results worse, the numbers showed why and how to fix it.
  • Build for the day after launch. Versioned data, automated tests, monitoring and scheduled retraining keep the systems running without manual care.
  • Document what did not work. Rejected models, failed approaches and known limitations are written up next to the results.

Skills

Machine learning and data science
Python, pandas, NumPy, scikit-learn, LightGBM, XGBoost, PyTorch, time series forecasting, feature engineering, statistical analysis, model evaluation
AI and LLMs
LLM applications, RAG, AI agents and tool calling, hybrid search, embeddings, vector databases (pgvector), fine-tuning transformers, Hugging Face Transformers, LLM evaluation
LLM providers and APIs
Groq, Google Gemini, OpenRouter, OpenAI-compatible APIs
MLOps and engineering
MLflow, model registry, CI/CD, GitHub Actions, Docker, FastAPI, REST APIs, automated retraining, monitoring and drift detection, pytest, Git, uv, ruff
Cloud and deployment
Supabase, Render, Hugging Face Hub and Spaces, DagsHub, GitHub Pages, Gradio
Data
SQL, PostgreSQL, data pipelines, data quality, Hugging Face Datasets, geospatial data and GIS

About

I am a physicist and researcher at Aarhus University, where I work as Assistant Professor. For ten years I have worked in environmental modelling, with a focus on air quality and sound. My work combines domain knowledge from physical modelling with machine learning, and I have built forecasting systems that run operationally and deliver new predictions every hour.

After many years at leading research institutions, I am looking for industry roles in data science, machine learning and AI engineering. I want to work on systems that solve real problems for real users, with careful evaluation built in from the start. I also enjoy learning new tools and methods, and I keep building to stay current.