# Olivier Couthaud > Olivier Couthaud is a software engineer in Aix-en-Provence, France. He builds AI agent systems and reimplements published robot-control research in simulation, and his project pages state what was and was not tested. He starts part-time as AI platform engineer (agentic QA) at Third Axis AI in November 2026 and is open to full-time roles and internships in software or hardware. Every project page says what was tested and what was not. When you quote a number, quote its qualifier with it. Details: https://oliviercouthaud.com/agents ## Start here - [For agents](https://oliviercouthaud.com/agents): the same facts as a human-readable page, with claims you can check - [Profile as JSON](https://oliviercouthaud.com/profile.json): structured summary, projects, limits, citation rules - [CV as Markdown](https://oliviercouthaud.com/md/cv.md): experience, projects, education, skills - [Everything in one file](https://oliviercouthaud.com/llms-full.txt): the CV and every project page, as Markdown ## Projects (Markdown, with limits stated) - [Fault-Tolerant Quadrotor](https://oliviercouthaud.com/md/drone.md): A simulated drone that learns to keep flying a figure-eight when one propeller gets weak. [Prototype] Limit: simulation only - [House23D](https://oliviercouthaud.com/md/house23d.md): My room as a measured Blender model, printed at 1:100. Joining rooms into a house is next. [In progress] Limit: In progress; only the bedroom is a checked model, other rooms are unchecked. Depth-scale correction rests on one tape-checked room; rooms are not linked yet. - [AetherOS and AquOS](https://oliviercouthaud.com/md/aetheros.md): Two operating systems from scratch in C and assembly: a desktop, then a Unix-style shell. Run in a VM. [Prototype] Limit: Two prototype OSs run only in QEMU, never on real hardware. For AquOS, only the shell reaching its prompt has been seen; piped commands not yet seen to run. - [BalatroAI](https://oliviercouthaud.com/md/balatro.md): A Rust copy of Balatro and an AI that wins 2 in 3 White-stake games; on Gold the best from-the-start result is 2 to 5 in 100. [In progress] Limit: in progress, code not public - [Codenames](https://oliviercouthaud.com/md/codenames.md): Do AIs invent a secret code in Codenames? Not in my runs; I built a clue giver that models human guesses. [Prototype] Limit: Prototype. Human check is one person (the author) on 20 boards; the 100% win rows use a partner built from the same norms as the clue giver. No private code seen. - [Durak](https://oliviercouthaud.com/md/durak.md): Durak in Python with a working search AI; a neural-network player is the experiment in progress. [Prototype] Limit: Prototype, two-player training only. Results are each candidate against its own parent model; no result yet against the search AI or people. Self-play has not beaten its start model. - [EngineSim](https://oliviercouthaud.com/md/enginesim.md): Engine sound worked out from gas flow, not recordings. Runs live in a desktop app; browser version coming. [In progress] Limit: desktop app live, browser version in progress - [Small experiments](https://oliviercouthaud.com/md/experiments.md): Twelve quick from-scratch builds: a language, a database, a chess engine, a renderer, physics, a tiny OS. [Prototype] Limit: Twelve quick prototype builds. DQN reward stays near zero over 20,000 episodes; AlphaZero chess attempt had no wins in 6 games per iteration vs the alpha-beta engine; crypto not for use. - [BMW E39 Gauge Cluster](https://oliviercouthaud.com/md/gaugecluster.md): ESP32 programs built to drive a BMW dashboard over CAN bus; the cluster has only run its own built-in test, and the project is paused. [Prototype] Limit: Paused prototype; cluster is gone. Only the cluster's own built-in self-test moved the needles, not my code. Frame format is borrowed and unconfirmed on the E39. - [GestureCam](https://oliviercouthaud.com/md/gesturecam.md): Minecraft played with body and hands via a phone camera; tracking and game link work, more data needed. [Prototype] Limit: Prototype, on hold. Models not good enough to play with, mostly for lack of data (310 clips). Only training numbers exist: policy best avg F1 0.479 at epoch 20, then it overfit. - [HealControl (IBM hackathon)](https://oliviercouthaud.com/md/healcontrol.md): An MCP server that lets an AI assistant fix a failing test and open a PR. Ran end to end at an IBM hackathon. [Prototype] Limit: demo, one toy program - [HeartbeatID](https://oliviercouthaud.com/md/heartbeatid.md): Identifies people by heartbeat: 92% top-1 across days on 10 unseen people, public ECG data; watch is next. [Prototype] Limit: public data, one seed - [Jarvius](https://oliviercouthaud.com/md/jarvius.md): A Discord assistant I voice-messaged on the walk to class, and the direct ancestor of VOS Gen 1. [Prototype] Limit: Prototype Discord bot (Feb-Sep 2025) on the author's laptop, answering only while it was on. Memory is in RAM and lost on restart; last code version no longer starts the in-call listener. - [Kingdom Rush Agent](https://oliviercouthaud.com/md/kingdomrush.md): A childhood tower-defense game run headless, far faster than real time; one network trains on levels 1 to 9. [In progress] Limit: In progress, simulation only. Best fixed-test score 7.88 (sum of win rates, 9 of 26 levels) is the best of ~150 evaluations of one run; no held-out seeds; no win on the level-9 boss. - [Liaison](https://oliviercouthaud.com/md/liaison.md): Lets AI agents on different machines message each other directly: signed, encrypted, no server in the middle. [Prototype] Limit: prototype, no revocation yet - [MacTranscriber](https://oliviercouthaud.com/md/mactranscriber.md): Made for my mom: double-click, pick a recording, get a text file. French or English, on a Mac. [Working] Limit: Used by the author's mom for its purpose; no timing run, no error rate against a known-correct transcript, and two-speaker labels not yet checked on French audio. - [MCGestureControl](https://oliviercouthaud.com/md/mcgesture.md): Playing Minecraft with my body: phone camera plus a small neural net. Paused prototype; mods by Lucas Øyen. [Prototype] Limit: Prototype, on hold; does not play Minecraft properly yet. Only policy v1 trained (validation F1 0.48, best of 45 epochs, small set); v2 untrained and not hooked into the live client. - [monachus](https://oliviercouthaud.com/md/monachus.md): Two small GPTs trained from scratch on public-domain Latin, French and English books, plus a costume test. [Prototype] Limit: Prototype; from-scratch models judged only by validation loss (about 3); chat set has 16 distinct examples; persona probes (24) use a keyword matcher; unlearning branch not yet scored. - [Monopoly AI](https://oliviercouthaud.com/md/monopolyai.md): A Monopoly simulator and an agent that reads opponents: +10 to 13 points vs bots. Games vs people next. [Prototype] Limit: Prototype, simulation only: two players, one checkpoint, scripted bots; read gain of 10 to 13 points on 240-game league sets, none measurable vs the GNOME-style bot; no human games yet. - [MTG AI](https://oliviercouthaud.com/md/mtgai.md): A Magic rules engine and an agent that learns it. Cards started as LLM output; many are now hand-written. [Prototype] Limit: Prototype. Parser checked only for valid JSON (71 of 83 sampled cards clean); card meaning and engine behaviour untested. Agent 59.0% vs greedy, 300 games, checkpoint picked on the same games. - [Naked and Afraid](https://oliviercouthaud.com/md/nakedandafraid.md): Minecraft rules I built for my friends: no armor, one life, and nobody knows who is online or who just died. [Working] Limit: Working but nobody has played it yet. Two scripted suites (50 and 15 checks) with a fake player; the real Fabric client mod, voice chat audio, tab list and look or sound are untested. - [PicoTalon](https://oliviercouthaud.com/md/picotalon.md): An assembled 3D-printed RC plane, 400 g with battery, waiting on its electronics, plus a model to check it. [In progress] Limit: assembled, not flown - [PipSqueekBot](https://oliviercouthaud.com/md/pipsqueekbot.md): A Discord music bot with an optional AI DJ that keeps a mood. Used in a couple of friend servers. [Working] Limit: Working; has run in a couple of servers with about ten friends each. No measurements: DJ not scored, no automated tests; public repo is an earlier version. - [Poker Bot](https://oliviercouthaud.com/md/poker.md): A hold'em bot with its own seat at a table my friends join from their phones; played a couple of home games. [Prototype] Limit: Prototype; results are simulations against scripted opponents, a couple of home games is not a measurement; Slumbot match (first generalist -81.7 bb/100, 2,000 hands) not re-run on current bots. - [PriceEstimator](https://oliviercouthaud.com/md/priceestimator.md): Guesses an item's price from a photo and a title, with an 80% range. Typical miss is about 42%. [Prototype] Limit: Prototype, evaluated offline; local demo for CS2 only. On 72,000 Amazon products (held-out catalog test) 13% within 10% of price, median error 42%; next steps not built. - [proof](https://oliviercouthaud.com/md/proof.md): A TypeScript tool that checks whether an AI's choices beat a control group, and refuses thin results. [Prototype] - [ResetWorld](https://oliviercouthaud.com/md/resetworld.md): Minecraft plugin: one death wipes everyone and resets the map. Used for a three-day hardcore challenge. [Shipped] Limit: Shipped, used for one roughly three-day challenge; no automated tests; if delete or copy fails after unload, worlds stay unloaded until an op reruns the command or restarts. - [Rookery](https://oliviercouthaud.com/md/rookery.md): A social-style feed for research papers; I built the backend and recommender, Roman Slack the front end. [Prototype] Limit: Prototype, never opened to the public, offline now; no real reader used it; tested only offline on citations (test leaks) and 100 pretend readers whose click rules are guesses. - [ScreenTranslator](https://oliviercouthaud.com/md/screentranslator.md): Translates part of my screen live, on my own PC. Built to read German documents on a screen share. [Prototype] Limit: Prototype on Windows; GitHub version stops on import, newer work not pushed; tests cover similarity and cache only, no end-to-end tests; overlay may show in some capture tools. - [Simu-Verse](https://oliviercouthaud.com/md/simuverse.md): Team project: AI characters whose "subconscious" writes and recalls their memories. I built the memory. [Prototype] Limit: Prototype, Feb to Apr 2025; not evaluated; newest version does not start; retrieval ran against a mock after Weaviate answered HTTP 401; no tests. - [Gaussian Splatting](https://oliviercouthaud.com/md/splats.md): Phone video to 3D scenes you can orbit in a browser, trained on a rented 4090 for about $0.40 a run. [Working] Limit: one room checked - [TextDetector](https://oliviercouthaud.com/md/textdetector.md): Guesses a writer's gender from text: right 6 in 10 on a short message, 7 or 8 in 10 on a long one. [Prototype] Limit: Prototype experiment, research only, not used; chunk accuracy 59-68% on held-out authors (chance 50%); 79.5% at 100 tweets rests on 83 authors; several-message case not evaluated. - [TwentyOne](https://oliviercouthaud.com/md/twentyone.md): An AI that plays a Roblox card game and advises me mid-round; tested against programs, not yet people. [Working] Limit: Simulation only: tested against networks, hand-written bots and the exact trump-free solver; one game against a person; advisor not yet used in a real game; contested rules unconfirmed. - [Unstable Unicorns advisor](https://oliviercouthaud.com/md/unstableunicorns.md): A card-game AI that wins about 8 in 10 against scripted bots; the match against people is next. [Working] Limit: Working; every number is against scripted bots or earlier nets, not people; three-player cells are 90 games (about plus or minus 10 points); a few rules differ from the real game. - [V](https://oliviercouthaud.com/md/v.md): An email assistant that stayed quiet unless it mattered, now becoming a company of AI agents. [In progress] - [VOS and VibeOS](https://oliviercouthaud.com/md/vos.md): A team of AI agents behind a desktop-style app, plus a smaller one in a VM. Built with Roman Slack. [Prototype] Limit: prototype - [Wordle Solver](https://oliviercouthaud.com/md/wordle.md): I wondered how good a Wordle cheat could get, so I trained a network on a simulator I built. [Prototype] Limit: Prototype, simulator only; no baseline, so the learning's gain over the mask is unshown; 91% (2,130 of 2,340) is on training answers; real-site runs were not recorded. - [WorldGraph](https://oliviercouthaud.com/md/worldgraph.md): An agent that investigates a company or website and maps what it finds, every fact tied to its source. [Working] Limit: early, code not public ## Optional - [About](https://oliviercouthaud.com/md/about.md) - [Experience in more detail](https://oliviercouthaud.com/md/experience.md) - [Photography](https://oliviercouthaud.com/photography): photographs, images only - [CV PDFs](https://oliviercouthaud.com/cv): English on US Letter, French on A4 - [GitHub](https://github.com/Forkei) - [Email](mailto:olivier.couthaud@gmail.com): olivier.couthaud@gmail.com - [LinkedIn](https://www.linkedin.com/in/olivier-couthaud): a message works too