1
0
2026-08-10 15:56:48 +00:00
2026-08-10 15:56:48 +00:00

Adrien Bouvais

Data, Platform, MLOps Engineer based in Luxembourg.
I design backend systems, data platforms, and inference infrastructure — currently architecting the backend for Clearstream AI at Clavem Group.


Work

Senior Data/ML Engineer — Clavem Group (2024 present)
Lead backend architect for a cloud-agnostic AI/data platform serving multiple business units in production.

  • Designed full platform architecture: ingestion, storage, serving, and security layers
  • GitOps CI/CD on OpenShift/ArgoCD — config repos per environment, PR-gated promotion to production
  • Inference containers in Python, model/dataset registry via DVC + Artifactory, automated via GitHub Actions
  • Operated and monitored production workloads on OpenShift; enforced secrets management and least-privilege access

Data Engineer — Reveals SA (2023 2024)
Core banking data migration and quality platform for a Luxembourg bank.

  • Fault-tolerant pipeline migrating billions of rows of sensitive financial data — zero data loss, TLS-secured
  • Airflow DAGs for multi-source ETL: parallel tasks, dataset dependencies, Oracle → PostgreSQL consolidation
  • Real-time data quality platform (Python/Flask) and self-service SQL validation framework for non-technical stakeholders

Data & AI Consultant — Ernst & Young (2022 2023)
Data architecture advisory for enterprise clients on Azure.

  • Designed data platform architectures and ETL pipelines for clients across multiple industries
  • SQL schema optimisation for analytical workloads; Airflow-orchestrated data flows on Azure

Currently Building

Trading video game

A giant DAG with nodes that generate, transform, store, trade, use ressources with dynamic pricing. Game is to play with the market, starting little by buying and selling small quantity. Then with more money, player can influence the market at higher level. Game is done in Zig + Raylib. So no modern engine.

Zigma — A Programming Language for Science

Write physics equations as code. Zigma attaches dimensions and units directly to variables and resolves them at compile-time via Zig's comptime — so a unit mismatch is a compiler error, not a runtime catastrophe.

g  = 9.81 m/s²
t  = 0..10 s  step 0.1
v0 = 20.0 m/s

y = (v0 * t) - (0.5 * g * t^2)  // Zigma derives: y is in [meters]

wrong = y + t  // Compile-Time Error: Cannot add [Length] to [Time]

Zigma transpiles directly to Zig — C-level performance, automatic SIMD acceleration, zero runtime overhead. Supports uncertainty propagation (20.0 +/- 0.5 m/s), native CSV interpolation for empirical data, and i128 precision for large-scale spatial simulations.

Roadmap: WASM notebook, GPU acceleration (WebGPU), autograd, automatic Jacobian transforms.

dimal — Dimensional Analysis Library for Zig

The type system powering Zigma. A unified Tensor API parameterized entirely at compile-time:
T (numeric type) · dims (physical dimensions) · scales (unit scale) · shape (array shape)

Originally built to use i128 positions in space simulations to avoid float precision loss at astronomical scales.


Stack

Python Go Zig SQL · PostgreSQL Oracle SQLite
OpenShift ArgoCD Airflow Terraform GCP Azure
GitHub Actions DVC FastAPI Flask Docker


contact@bouvais.lu

Description
No description provided
Readme 46 KiB