Data × Models × Code = Systems you can run twice
Most ML projects never leave the notebook.
These are the areas I work in and learn: data pipelines, modelling, LLM applications and the deployment that comes after. The tools change (scikit-learn, PyTorch, FastAPI, Docker), but the goal stays the same: every project reproducible, honestly evaluated and out of the notebook.
Machine learning pipelines
From raw data to a trained model, with a process you can repeat: data preparation, leakage-free validation, model comparison and honest evaluation.
See more →LLM applications
RAG over documents, agents that query data and applications built on language models, with the evaluation needed to know whether they actually work.
See more →Deployment and MLOps
Getting the model out of the notebook and keeping it alive: an inference API, containers, CI/CD, a version registry and drift monitoring.
See more →Tabular data modelling
Most real problems are tabular data. Models to predict default, churn or risk, with the evaluation an actual decision needs.
See more →Natural language processing
Classification, extraction, summarisation and semantic search over text, with transformers and embeddings, from fine-tuning to serving.
See more →Model evaluation and diagnostics
The part that has taught me the most: reviewing models for data leakage, misleading metrics and optimistic evaluations. Starting with my own.
See more →




