Dmitry Ivanov

Applied AI & MLOps

I focus on the engineering side of AI: building reproducible, maintainable systems that work in production — not just in notebooks. My work spans the full lifecycle: data ingestion, quality control, feature engineering, experiment tracking, model registry, serving, monitoring, and CI/CD — from classical ML pipelines to LLM/RAG systems with agent routing, mandatory citations, and golden evals.

Projects

CAE Copilot – Engineering AI Copilot

May 2026 – Present | cae-copilot.dmitryivanov.dev
LangGraph RAG FastAPI Qdrant Streamlit

Engineering AI Copilot for technical documentation, calculations, and traceable answers — an Applied AI portfolio project built with the same production mindset as SoccerPredictAI (tests, docs, CI, k8s).

Not solver automation. Live MVP: document-grounded RAG, engineering calculation tools, LangGraph routing, and structured reports with mandatory citations.

Public key numbers

MetricValue
CAE docs corpus9 manuals ingested
Maturity stageStage 2 shipped (RAG + citations, LangGraph, tools, eval)
Golden Q&A eval14 cases; offline baseline 100% intent / citation / tool
DeploymentSeparate FastAPI + Streamlit images, Qdrant, Helm/k8s

Architecture

Engineer → Streamlit UI → FastAPI → LangGraph
                              ├─ RAG (Qdrant + citations)
                              └─ Engineering tools (beam, FoS, bolt joint, sections)

Traceable demo path: Question → Retrieval → Citation → Calculation tool → Report

Evidence & docs

Tech Stack

LayerTools
Agent orchestrationLangGraph, Pydantic tool schemas
RAGQdrant, multilingual-e5-base, page-aware chunks
ServingFastAPI, Streamlit
InfrastructureDocker, Kubernetes, Helm
QualityGolden Q&A eval, lint, typecheck, pytest
DocsMkDocs

Key Engineering Decisions

  • Traceable knowledge workflows: retrieval → citation → calculation tool → report
  • Reliability-first: deterministic Python tools, golden Q&A eval, citations, offline fallback
  • Production layout: separate FastAPI and Streamlit images, Qdrant vector store, k8s Helm chart

Evidence pack (fast links)

For interviews, I use these pages to demonstrate traceable agent design: RAG with citations, tool routing, eval discipline, and production deployment.

SoccerPredictAI – End-to-End MLOps Platform

May 2025 – May 2026 | soccer.dmitryivanov.dev | GitLab
MLOps Kubernetes XGBoost FastAPI MLflow DVC

A production-style pet project built to demonstrate the full ML lifecycle in a real domain (football match prediction). Deliberately engineered as a system, not a collection of notebooks — domain-agnostic proof of production ML/MLOps discipline.

Public key numbers

MetricValue
Holdout log-loss1.006 (bookmaker benchmark ~0.97)
Holdout ROC AUC0.643
Calibration (ECE)0.004
Holdout set size135,970 matches (2024+)
DVC pipeline stages22
Test suite560+ passing tests
Infrastructure cost<€30/month (single self-hosted VPS)

Evidence & docs

Pipeline & Architecture

Scraping → PostgreSQL/MinIO → Great Expectations (DQ)
    → Feature Engineering (rolling stats + ELO ratings)
    → Temporal CV screening (5 models × 6 data fractions, MLflow)
    → Optuna hyperparameter tuning (CV-only, no holdout leakage)
    → Final retrain on full dataset → Model Registry
    → FastAPI (sync) + Celery/RabbitMQ (async inference)
    → Kubernetes + Helm → Prometheus + Grafana + Evidently (drift, in progress)

Tech Stack

LayerTools
OrchestrationAirflow, DVC
Data & StoragePostgreSQL, MinIO (S3), Parquet
Data QualityGreat Expectations
Feature Engineeringpandas, NumPy, scikit-learn
ML / TuningXGBoost, scikit-learn pipelines, Optuna
Experiment TrackingMLflow (tracking + model registry)
ConfigHydra, params.yaml
ServingFastAPI, Celery, RabbitMQ
InfrastructureDocker, Kubernetes, Helm
MonitoringPrometheus, Grafana, Evidently
CI/CDGitLab CI, pre-commit, SOPS + Age
DocsMkDocs, Quarto

Key Engineering Decisions

  • Anti-leakage experiment design: model selection by CV logloss only; holdout evaluated once in a dedicated `final_train` stage
  • MLflow nested runs: parent run per data fraction, child run per model — full comparison matrix in the UI
  • DVC pipeline: all stages versioned with input/output hashes; reproducing any experiment is a single command
  • Data quality gates: Great Expectations suites at raw, interim and features layers — pipeline fails on schema violations
  • Temporal CV: walk-forward folds with `startTimeUtc` boundaries — no future leakage in cross-validation
  • Kubernetes deployment: Helm chart, SOPS + Age secrets, GitLab CI quality gates on every push

Evidence pack (fast links)

For interviews, I use these pages to demonstrate production reality: reproducibility, architecture, quality gates, monitoring, and results.

Chemwatch – ML Pipeline for Multilingual Document Processing

Jan 2021 – Jan 2022 | Freelance | Remote, Australia
NLP OCR Python

Problem: Chemwatch (AU) maintains a large database of chemical Safety Data Sheets (SDS/MSDS) in 20+ languages. Manual extraction of structured data (ingredient names, CAS numbers, proportions) was the bottleneck.

Approach:

  • OCR pipeline to handle both text-native and scanned PDFs
  • Multilingual NLP (rule-based + ML classifier) to locate the ingredients section across document formats
  • Confidence scoring + human-in-the-loop filtering for uncertain cases
  • Validation against known CAS registry

Result: Reduced manual data extraction workload by 95%. Deployed as a batch processing pipeline.

Key Engineering Decisions

  • Processed 50,000+ documents in EN, DE, FR, ES, IT, NL, SV, PT, FI, SK, VI and more
  • Built custom section-detection model handling non-standard SDS formats and OCR noise across 20+ document layouts
  • Reduced manual extraction workload from ~8h/day to <30min/day (95% reduction) via confidence-scored human-in-the-loop filtering and CAS registry validation
  • Stakeholder dashboards cut chemical safety analysis time by 40%; delivered as a scheduled batch pipeline

Sample annotated MSDS documents (section detection output)

MSDS section detection output 1

Skills

Core ML: scikit-learn, XGBoost, Optuna, feature engineering, temporal CV, model calibration MLOps: MLflow, DVC, Airflow, Great Expectations, Evidently, Prometheus, Grafana Applied AI: LangGraph, RAG, Qdrant, LLM integration, golden eval, citation-grounded reports Serving: FastAPI, Celery, RabbitMQ, Docker, Kubernetes, Helm Data: PostgreSQL, MinIO, pandas, NumPy, Parquet Engineering: Hydra configs, GitLab CI/CD, SOPS + Age, pre-commit, MkDocs

Certifications & Courses

Coursera certificates for all 6 courses of the ML and Data Analysis specialization (Yandex / MIPT), Introduction to Machine Learning (HSE University), and Introduction to Data Science.

Data science certification 1