# Adrien Bouvais Data & Platform 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 ### [Zigma](https://git.bouvais.lu/adrien/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](https://git.bouvais.lu/adrien/zig-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`