3.4 KiB
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