AI Engineer and Engineering Lead in Lausanne, Switzerland. I build LLM agents that act safely on real systems: MCP servers, per-person auth, confirmation before any write. Before that, 13 years of web platforms for luxury, sports, e-commerce and media.
Started writing code professionally in 2013. Still hands-on by choice, every day. Web in React, Next.js and TypeScript. Services and systems in Rust (lower-level primitives, the parts you only see when the runtime stops helping).
Worked with FIBA · Visilab · Patek Philippe · Lausanne Tourisme · Publishing Factory
A chat assistant that acts as each person in a household (their own token, every action filed in their name) and asks before anything changes. Few deliberate tools, each person's language, failures counted and alerting. Media is the test bed. The pattern is the point.
kavita-mcp — MCP server in Rust. Search your Kavita libraries and send a book to your Kindle, as yourself, after a confirmation.
seerr-mcp — MCP server in Rust. Search and request films and series in Seerr, as yourself, after a confirmation.
realtime-bpm-analyzer — Zero-dependency TypeScript library for real-time BPM detection via the Web Audio API. Used in music players, DJ tools, and streaming services.
docker-exporter — Lightweight Rust Prometheus exporter for Docker container metrics. Built for ARM64 + cgroup v2, multi-arch image on GHCR.
Parametric cases in OpenSCAD, printed and tested. Each loop is rendered from the CAD itself, pulled apart by its own assembly parameter.
Day to day
Infra and AI
By volume (public + private repos)








