I built a fault resilience observatory because I wanted to be part of this world.
My name is Teddy Truong. I am a 5th-year computer science student pursuing a double degree between UQAC in Canada and ESGI in France. I have no background in robotics. I had never studied embedded systems or warehouse logistics. And yet, here we are.
It started with a video.
In 2024, one of my teachers at ESGI introduced me to Rust. Within weeks, I discovered Bevy, and something clicked. The language felt like it was designed for the way I think: explicit, composable, unforgiving in the best sense.
In early 2025, I watched a video by Underscore_ about Exotec. It was a conversation with Renaud Heitz, their CTO, about the engineering behind 24-hour delivery. Hundreds of autonomous robots navigating a warehouse at speed, coordinating pickups, avoiding collisions, recovering from failures, all in real time.
It blew my mind. Not because the technology was impressive (it was), but because it revealed a world I had never seen. Beneath every package that arrives at your door, there is an entire orchestration layer that most people never think about.
The world is so much larger than what we see in our daily lives.
I wanted to understand it. Not from the outside. From the inside.
Exploring a field I had just entered.
At UQAC, I had been working on a video game research project, a procedurally generated Bomberman where I analyzed how we measure fun in generated mazes using recursive backtracking. My teacher proposed extending it into formal research. Instead, I proposed something entirely different.
I had been reading everything I could find on Multi-Agent Path Finding. I watched Sven Koenig's MAPF overview from ICAPS 2022 to learn the basics, then dug into papers on STA*, CBS, LaCAM. Benchmarks on static grids with perfect conditions. Solver comparisons measured in milliseconds.
But I kept noticing something missing. Every benchmark assumed a perfect world. No agent failures. No mechanical breakdowns. No cascade propagation when one robot dies and becomes an obstacle for twenty others. The papers that did measure fault resilience existed in isolation, disconnected from the simulators that could test their ideas at scale.
So I proposed building the bridge: a fault injection simulator that connects existing resilience metrics with real MAPF algorithms, lifelong solvers, and warehouse topologies. A tool for researchers to ask a question that most benchmarks do not cover:
What happens to your fleet when things go wrong, and keep going wrong?
That tool became MAFIS (Multi-Agent Fault Injection Simulator).
Learning everything from scratch.
Being new to a field is mostly just hard. You read a paper and understand half of it. You implement an algorithm and the edge cases reveal how little you know. You second-guess every decision because you lack the intuition that comes from years of experience.
But being new also means you get to ask a lot of questions. When you have no established workflow, you are free to explore different approaches. When you have never used the standard tools, you naturally ask why they work the way they do.
I built MAFIS in Rust with the Bevy engine because those were the tools I was most excited about. ECS architecture for clean data flow. Rust's ownership model for correctness without garbage collection. WebAssembly for browser-native distribution with near-native performance. A research tool that runs at 60 FPS in a browser tab.
This is what I bring to the table: not decades of domain expertise, but the curiosity to start from first principles and contribute something useful to a community I want to grow with.
Built with curiosity.
Let's talk.
I am actively looking for a summer 2026 internship in robotics, warehouse automation, multi-agent systems, or simulation engineering. If you are a researcher, recruiter, or engineer and any of this resonates, I would love to hear from you.