Aller au contenu

Resume

Nathan Leclercq
#

nathan.leclercq9@protonmail.com | LinkedIn | GitHub | Blog | Download PDF


Profile
#

MLOps & Data Engineer at DataKhi for 3 years (apprenticeship then full-time). I design and operate end-to-end data + ML platforms: collection, pipelines, ML models, deployment, monitoring. Three recurring angles in my work: targeted sovereignty (taking back control of sensitive ML workloads without migrating everything off existing clouds), infrastructure frugality (measuring rather than guessing the energy cost of an ML cluster), product eco-design (environmental impact of ML systems, hands-on experience with Tossée + Ecobalyse). Master’s in Machine Learning (Lille), background in mathematics.


Talks & Publications
#

  • DevLille 2026 (June 2026, with Jonathan Fritsch) — “Take back control of your data platform from the American giants”: hands-on talk on deploying a modern data platform in private cloud (MinIO/Garage, PostgreSQL, DuckDB, K3s)
  • 8 technical articles on the DataKhi blog (Jan 2026), including: sovereign data platforms, self-hosted S3 storage, migration to open source, Airflow → Kestra migration, ML for demand forecasting, database architectures for recommendation systems
  • Technical articles on my personal blog (2024-2026): Homelab series (5 posts), Book Reco series (6 posts), Cloud Nord 2024 review, melody harmonization research

Professional Experience
#

DataKhi — Data Consulting Firm, Tourcoing (2023 - present)
#

MLOps & Data Engineer — Nyukom Project · Full-time · Oct 2025 - present

  • End-to-end telecom data platform: collection (3CX web scraping, Centreon API), object data lake, PostgreSQL star schema warehouse, Power BI reporting
  • Full infrastructure deployed and operated: K3s, Airflow, Ansible (5 roles), private OCI registry
  • Ongoing migration of object storage from MinIO to Garage (European S3) for sensitive workloads, J-1 mirror maintained during transition
  • Multi-tenant with partitioning, idempotency, historical backfill
  • Stack: Airflow 3, K3s, Ansible, Docker, PostgreSQL 17, MinIO, Garage, Playwright, Python

Data Engineer — French Companies Reference ETL (SIRENE) · Full-time · 2025 - present

  • PostgreSQL ingestion pipeline for ~14.8M active companies, ~23M establishments, enriched with BCE/INPI financial ratios (~6.3M rows) and calls to the official French Business Directory API
  • Incremental mode (UPSERT) or full mode (atomic swap preserving API enrichments), error-tolerant, idempotent
  • Data warehouse schema d_entreprise, d_etablissement, d_finance, d_dirigeant
  • Stack: Python, PyArrow, Parquet, INSEE bulk data, Business Directory API

Data + Platform Engineer — Sovereign S3 Benchmark (Garage vs MinIO) · Full-time · 2025 - 2026

  • Designed and ran a Garage vs MinIO benchmark (3-node cluster + single-node) to inform object storage choice for sensitive workloads
  • Measurements: DuckDB reads on a multi-GB parquet dataset, boto3 writes, resilience test (node failure + recovery verification)
  • Reproducible automated test bench (multi-node Docker Compose + deployment scripts), technical foundation for the DevLille 2026 talk
  • Stack: Garage, MinIO, DuckDB, boto3, Docker Compose, Python

Data Engineer — Hall U Need Data Infrastructure (Microsoft Fabric + Azure Data Factory) · Full-time (continued from apprenticeship) · 2023 - present

  • Operating and evolving an existing hybrid data infrastructure for a mid-sized restaurant company: Microsoft Fabric (data warehouse + notebooks), Azure Data Factory (flow orchestration), custom Playwright scraping pipelines for non-Azure sources
  • Day-to-day run: handling production incidents, cloud cost monitoring, flow monitoring
  • Progressive enrichment driven by client requests: new sources (POS systems, reservations, weather, HR, events), new flows, cost and reliability optimizations
  • Stack: Microsoft Fabric, Azure Data Factory, Azure SQL, Python, Playwright, Pandas

ML Engineer — Hall U Need Demand Forecasting · Full-time (continued from apprenticeship) · 2023 - present

  • Industrialized a restaurant demand forecasting model (XGBoost quantile regression) on the database fed by the Fabric infra above: 28 independent models, advanced feature engineering (weather, calendar, public holidays, bridge days, events, J-X reservations)
  • Custom Huber loss function, confidence interval calibration, non-regression tests (Pearson ≥ 0.999)
  • Full pipeline: Microsoft Fabric collection → training → prediction, Makefile workflow

Data + MLOps Engineer — Tossée Project · Apprenticeship · 2023 - 2025

  • Complete data ecosystem for an eco-responsible fashion aggregator (~15 sub-projects, publicly archived under AGPL v3)
  • Environmental impact scoring via Ecobalyse API, multi-brand (67 YAML brands), product embedding ML pipeline for semantic search
  • Large-scale crawling and scraping (Scrapy + Playwright + FlareSolverr + custom YAML rules engine)
  • FastAPI + PostgreSQL/pgvector backend, Flutter mobile app (virtual try-on DM-VTON, barcode scanning, multi-provider OAuth, geolocation), React/TypeScript browser extension
  • AI agent (OpenAI Agents SDK) for automatic data extraction from HTML
  • Hybrid on-premise / Azure deployment (Functions, Blob)

FullStack Developer — Internship · 2023 · 4 months

  • Power BI versioning system: C++ backend (report differentials), React frontend, Electron distribution

Music Teacher · 2017 - present
#

  • Saxophone (jazz, soul) and music theory — private lessons and music schools

Technical Skills
#

MLOps & ML Engineering

  • End-to-end production ML pipelines: training → serving → monitoring → reindex
  • Local LLM serving (Ollama, shared GPU), embedding pipelines (Nomic Embed Text, sentence-transformers, CamemBERT)
  • Production RAG: pgvector + tsvector + trigram + RRF, Model Context Protocol (MCP SDK)
  • XGBoost (quantile regression), feature engineering, temporal cross-validation, custom loss functions, interval calibration
  • LLM observability: Tempo OTLP, custom Prometheus metrics, Grafana alerting

Data Engineering

  • End-to-end ETL pipelines, star schema, partitioning, idempotency, backfill
  • Apache Airflow (DAGs, custom operators), Kestra (evaluating), Microsoft Fabric, Azure Data Factory
  • Advanced PostgreSQL, PyArrow / Parquet, MinIO / Garage (S3-compat object storage), DuckDB
  • Hybrid data infrastructure maintenance (run, cloud cost monitoring, incidents, schema evolution)

Infrastructure / DevOps / Frugality

  • Kubernetes (K3s in production), Docker, Ansible (IaC, roles, vault, sealed-secrets)
  • Proxmox (4-node home cluster), GPU sharing (nvidia-device-plugin time-slicing)
  • Full observability stack: Prometheus, Grafana, Loki, Tempo
  • Energy measurement: Kepler (eBPF + RAPL for per-pod consumption), smart plugs / Home Assistant
  • CI/CD: Forgejo Actions, self-hosted Renovate, private OCI registry
  • Azure (Fabric, Functions, Blob, DevOps)

Web Scraping & Crawling

  • Playwright (headless), Scrapy, BeautifulSoup, FlareSolverr (anti-bot)
  • Custom YAML rules engines (homegrown DSL)

Development

  • Python (FastAPI, Pandas, scikit-learn, PyTorch), SQL, TypeScript (React), Dart (Flutter)
  • Familiar with: Go, Rust, Haskell, C++, GraphQL

Scientific / Competitive Programming

  • Julia (competitions: Google Hash Code, Reply Challenge, Cloudflight)
  • R, NumPy / SciPy, Polars

Personal Projects
#

MLOps Homelab Platform · 2024 - present

  • Proxmox + K3s cluster (4 nodes including a RTX 4060 Ti GPU) fully operated via Ansible
  • Services in production: Ollama (qwen3:14b), Forgejo + Actions, Vaultwarden, Miniflux, Renovate, knowledge-mcp, Prom/Grafana/Loki/Tempo monitoring
  • Power management: WoL + automated nightly shutdown, on-demand scale-to-zero, GPU KEEP_ALIVE
  • Published technical articles

knowledge-mcp — Personal RAG exposed via MCP · 2026 - present

  • Personal semantic RAG engine over ~35k chunks of documents (markdown, code, articles), exposed as a Model Context Protocol server for Claude / Cursor
  • Architecture: pgvector + tsvector + trigram + RRF, Nomic Embed via Ollama
  • Deployed in production on the homelab: HTTP Deployment (CPU, ~50ms per query), GPU reindex CronJob
  • Stack: Python, pgvector, Nomic Embed, Ollama, MCP SDK, K3s, Forgejo Actions

Book Recommendation System · 2023 - 2025

  • Full data pipeline: large book catalogue scraping, embeddings (TF-IDF + CamemBERT), FastAPI API, PostgreSQL/pgvector, MLflow, Vue.js interface
  • Published technical articles

Algorithms Club · 2020 - 2024

  • Preparation and participation in competitive programming contests
  • Optimized solutions in Julia · Google Hash Code, Reply Challenge, Cloudflight

Research: Melody Harmonization · 2024

  • Comparative study of models and algorithms for automatic melody harmonization

Education
#

Master’s in Machine Learning · University of Lille · 2023 - 2025

  • Deep Learning, NLP, MLOps · LLM deployment on GPU infrastructure

Bachelor’s in Computer Science · University of Lille · 2020 - 2023

  • Advanced algorithms, distributed architecture, full-stack development

Mathematics Studies (3 years) · University of Lille · 2017 - 2020

  • Numerical analysis, probability/statistics, applied linear algebra

Languages
#

  • French: native
  • English: professional (TOEIC 885)

Interests
#

  • Music: jazz/soul saxophone, orchestra
  • Sports: daily cycling, badminton
  • Reading: science fiction, technical essays (digital sobriety, AI Act, systems design)
  • Tabletop role-playing games