Migrating 1,273 repositories from Bitbucket to GitHub in under an hour
How I moved 1,273 repositories, full Git history and CI/CD included, with a Bash engine wrapped in a Temporal harness 🚚

I build platforms that teams run without me.
Automation everywhere. Humans always in the loop.
Track record
Two decades building software across banking, insurance, payments, retail, media, and beauty.

The context, the design decisions, the numbers.
How I moved 1,273 repositories, full Git history and CI/CD included, with a Bash engine wrapped in a Temporal harness 🚚
A human drags a JIRA card, a Temporal workflow moves on. The prototype behind a bank's choice 🤝
A Scala hello world that couldn't fit in 250 MB sparked a move to Go. 25 services later, the team runs them without me 🐹
Change the code, replay the history. More than three billion events a year, and nothing to operate ☁️
Architecture, platform engineering, automation, distributed systems, and the engineering lessons behind them.
A git subcommand that plays a demo one commit at a time, and makes every step show up in your IDE as pending changes 🎬
How a bash launcher, a GitHub Actions workflow and a directory convention became a fleet-wide update machine 🤖
Implementing an Event Router pattern with Spring Boot, Kafka Streams & TopicNameExtractor 🚰
We will leverage the CDC pattern to turn your existing databases into an event stream 🌊
Conference talks, papers and articles, from research to Devoxx France and Scala.IO.
(video)Scala.IO · 2018 · talk
Gagner 1 million au BlackJack avec Akka(in French)
(video)Devoxx France · 2016 · talk
Continuous Delivery avec GoCD(in French)
(video)Devoxx France · 2015 · talk
Trois heures à l’assaut d’une application réactive(in French)

Codeurs en Seine · 2015 · talk
Infrastructures réactives(in French)

Programmez! · 2014 · article
Analyse orientée business de vos logs applicatifs(in French)

ICCHP · 2010 · paper
Generating DAISY Books from OpenOffice.org