Agents & LLMOps
- LiveKit Agents
- LangChain / LangGraph
- OpenAI Agents SDK
- MCP (builds servers)
- tool-calling
- LLM-as-judge
- Langfuse
- LiteLLM
- Ollama
- LM Studio
- OpenTelemetry
- sentence-transformers
- FAISS / usearch
- RAG
- AGENTS.md / CLAUDE.md
AI Engineer — Agents, LLM Systems & ML
I build AI for production — agents, LLMs, voice and vision — and I rebuild the models from scratch when I want to really understand them.
Grenoble, France
R&D Engineer · Neovision
Grenoble · 25 yo
The stack
01 / About
I learn by rebuilding things from first principles.
Largely self-taught · 5+ years
Grenoble, France
French (native) · English (bilingual — 3 years schooled in the UK)
Co-author, SPIE paper (2025)
What I work on
02 / Skills
The stack, by domain — what I actually build with. · 163 technologies
03 / Experience
AI / ML at the core, with regular cross-functional support — networking & infra, full-stack, account administration.
How much AI?
Filter by how much was built with my AI agents — from hand-crafted to fully orchestrated.
● built with my orchestrated AI agents ○ hand-written
"R&D News" model watch, briefed to the whole team — a short briefing every 2 weeks on notable new models, architectures & techniques. Close follow of SOTA (LMArena · ARC-AGI · SWE-bench…).
04 / Projects
MCP server letting any agent act on what it sees across browser and real desktop (navigate/click/type/scroll/drag); returns text diffs of what changed instead of raw screenshots. GUI grounding fuses VLM detection + the AT-SPI accessibility tree; LiteLLM multi-provider router with cost-aware auto model-selection ranked from public benchmarks (MMMU, ScreenSpot-Pro, Video-MME); isolated software-GL sandbox so GPU/Flutter/Electron apps render. Installs into the major agent clients; files GitHub issues automatically. MIT.
My from-scratch deep-learning framework — where I rebuild things from first principles to actually understand them. Its spine is one generic data interface: classification, detection and reinforcement learning all flow through a single Dataset abstraction, pushed so far that a Gym RL environment is itself wrapped as a Dataset — the same dataloader and training loop then drive supervised and RL runs alike. Built on myconf, a hand-written type-driven config system (metaclass coercion, lazy computed fields, no Pydantic), with tensor-subclass modalities (image/text/bbox) and hand-reimplemented ResNet · VGG · ViT · DETR (Hungarian matching) plus the DQN family. Ships a small scalar autograd with graph visualization, written to relearn backprop. ~11k LOC — openly a learning project. Below: an Atari Breakout rollout — the Gym RL environment wrapped as a Dataset — plus the 84×84 grayscale observation the pipeline feeds the agent.
The project I'm most attached to. A custom compiler turns 32 declarative "paradigms" (~1,400 lines of engineering principles) + a manifest into conditionally-loaded skills, invocable subagents and per-tool system prompts (Claude Code, Codex, Cursor, Copilot). Encodes a real multi-agent workflow (independent visual-critic gate, skeptical tester, frustration-analyzer, librarian-as-sole-editor). Prompt engineering as compiled, versioned software.
Framework-agnostic compute/visualization engine: SIMD/CUDA/ROCm/MKL/Metal kernels, WGSL/GLSL/SPIR-V shaders, virtualized rendering, C-ABI FFI to Python/JS/WASM. Built almost entirely with my AI agents.
Flutter + Rust (flutter_rust_bridge) learning app with an LLM content pipeline — local-embedding semantic dedup (fastembed + usearch), batched/cached inference, macro CRUD codegen. Actively maintained.
Parses CV/cover-letter PDFs (docling), classifies candidates with an LLM, files them to Google Drive and notifies the team on Slack — scheduled (cron, keyring creds). The kind of agent that may well be reading this CV.
A small open-source PyTorch utility that taps any nn.Module with forward hooks to pull out intermediate activations and feature maps — point it at a layer, run an input, get that layer's response back to inspect or visualise. Below: a ResNet's shallow-layer feature maps (the dog still legible per filter) beside a deep layer's abstract activations.
An MCP server that captures X11 windows and runs vision analysis over them, exposing desktop screen-grounding to any agent — a focused companion to interact for seeing what's on screen.
My published open-source Linux alias framework (since 2022) — self-documenting per-tool modules (git/apt/npm/django/nvidia/tensorboard/disk-mem/stats), incl. an interactive gum-driven multi-branch auto-rebase with conflict-guard + auto force-push; keyring-backed secret handling.
Games, student builds and first projects — 13 more, kept in the archive rather than shown here.
Just for fun
For fun, I wired my Claude usage to my Slack profile picture — so the team can tell at a glance when I'm about to run out (and when I'll be sad about it). A GPT image model paints the mascot through ten moods, Pillow stamps the exact usage bar on top (an image model can't draw precise widths), and a systemd timer reads my session usage from ~/.claude and pushes the matching frame to Slack via users.setPhoto.
A personal user token, scoped so it can only change my own avatar.
05 / Research & teaching
Publication
Co-author (2nd of 6) on a peer-reviewed SPIE paper — CNN / SVM classification on biomedical multispectral imaging. A low-cost device for label-free, species-level identification of uropathogens; shows 240 spectral channels can be cut to <10 with limited loss.
Leroux, D., Blanchet, A., Davenas, C., Lac, L., Le Bihan, Y., & Fulchiron, C. (2025). A frugal multispectral imaging solution to identify uropathogens via SVM and ANN classification. Translational Biophotonics: Diagnostics and Therapeutics IV, Proc. SPIE Vol. 13934, 1393430.
Mentoring & teaching
Supervised a Master's research internship on LLM-based agents (defended, Grenoble INP/UGA) — a B2B company-data extraction & validation agent; benchmarked LLMs × MCP search tools (Tavily / Exa / DuckDuckGo; SIRET/SIREN validation against official French registries). Coached 5 engineering-student teams at ESISAR (Grenoble INP) on industrial AI projects — incl. a real-time speech-transcription tool needing domain-vocabulary performance.
06 / Education
ML Engineer (work-study)
OpenClassrooms · Neovision
2022–24
AI-oriented robotics (work-study)
IMERIR
2021–22
DUT Computer Science (3rd/19 · Code Game Jam 2020)
IUT Montpellier-Sète
2019–21
Baccalauréat S, mention Bien
2019
3 years schooled in the UK — bilingual FR/EN
2010–13
The online ML degree was deliberate — local engineering schools weren't AI-focused enough; the online route freed time to experiment widely and level up faster.
Video archive
07 / What I care about
I'd like Europe to keep credible AI options of its own — so I build on European sovereign infrastructure where it holds up, while staying pragmatic: validate with the best models first, then move sovereign once it proves out.
In practice
Self-host open models (Qwen, Gemma) on-prem for confidential data
Preferred sovereign stack — self-hosted, Mistral, Scaleway, Kyutai
08 / Contact
Happy to talk — about AI, a project, or anything you saw here. The fastest ways to reach me: