About me

I am a functional programmer with a strong focus on statically-typed languages and distributed systems. I specialize in domain modeling that makes illegal states unrepresentable, robust error handling, performance optimization, and comprehensive testing.
I’ve been programming since age 13 as a hobby, and professionally since 2017. My experience spans multiple languages (Ruby, JavaScript, Clojure, ReasonML, PureScript, Erlang), including 4 years of commercial Scala development, and the last 2 years working with Rust.

I enjoy exchanging knowledge with others. I have participated in various conferences and meetups.

Experience

Rust Software Engineer @Qwant (Cralwer Team)
rust kubernetes

As a Rust Software Engineer at Qwant, one of Europe’s leading search engines, I focus on developing and optimizing web-scale crawling systems and content processing pipelines.
My significant contributions include developing a high-performance HTML content extraction service that matches the quality of industry standards while operating at substantially faster speeds. I architected a sharded, lock-free crawling system that dramatically improved performance while maintaining strict website politeness policies. The system includes sophisticated robots.txt handling with caching and parsing capabilities for URL filtering.
My work extends across the crawler’s core infrastructure, encompassing URL redirection management, filtering systems, and comprehensive end-to-end testing, all contributing to Qwant’s robust search engine infrastructure.
Read more →

Lead Scala developer @Canal+
kafka kubernetes scala

At Canal+, a global leader of pay-television, movie production and movie distribution, I worked on Mediahub, a media asset management system (MAM), the cornerstone of the group’s media supply chain. We are ingesting 300+ hours of new content every day. The platform was responsible for transcoding assets as they enter and leave the system, creating proxies, storing and retrieving assets from hot and cold storage and more.
As a lead Scala developer, I used Kafka and fs2 to develop ETLs that allowed us move massive amounts of data safely from the legacy systems, and eventually shut down legacy systems. I led the archiving feature team. My team was providing archivists the tools they need to document and retrieve videos from a very large catalog.
We used Cats, Cats Effect, fs2, Tapir and Akka. I encouraged my team mates to apply functional programming, hexagonal architecture, and test everything with property-based tests (Scalacheck).
Read more →

Scala developer @Canal+
kafka scala

Read more →

Functional programming tutor @HEI, Graduate School of Engineering
scala

Taught a 15-hour tutorial course on functional programming to students of the HEI School of Engineering in Lille.

The course covered the fundamentals of functional programming in Scala (referential transparency, totality, lazy and eager evaluation, composition, collections manipulation …) and a few more advanced topics such as IO monads and functional streams (using Cats effect and fs2).

We applied these notions to the making of a project : a purely functional Tic Tac Toe game that could be played simultaneously on two computers through a TCP server.

Scala developer @Colisweb
scala kubernetes

Colisweb is a french delivery service specializing in last mile delivery.

I developed Scala micro-services, using a purely functional style and libraries such as Cats and Http4s. I’ve had the opportunity to migrate several services from Play Framework to Http4s and Tapir; and also contributed to an open source tracing library to improve the observability of their platform.

Read more →

Full-stack Javascript developer @Decathlon Maps
react node javascript

I worked a progressive web app (PWA) that let people find places for sport practice. I developed several features on the front end (React, Redux and Redux Saga) and on the back end as well (Koa and Postgres).

I implemented a better code delivery process, brought code reviews and end-to-end automatic tests to the project, and introduced my peers to functional programming principles that led to better separation of the business logic and greater maintainability of the product.

Read more →

Front-end developer @Norauto
react vue polymer javascript

I developed progressive web apps (PWA) as part of a complete overhaul of Norauto’s information system.

As a team, we built a library-agnostic design system using custom web components (developed using Polymer) and leveraged those components in several PWAs, implemented using Vue and React.

Read more →

Front-end developer @Qlikbeton
react javascript

Qlikbeton is an international online marketplace that sells concrete at attractive prices during off-peak periods. I worked on the front end of the marketplace within a team of 4 React developers.

We strived for a mostly functional codebase: side-effects were carefully separated from the purely functional business logic, UI components had little to no intelligence and could be composed easily. We made an extensive use of Ramda, a functional Javascript library that encourages immutable objects and function composition.

Read more →

Full-Stack developer @Pingflow
vue node scala javascript kubernetes

Pingflow develops a no-code software a service that allows anyone to design big, interactive dashboards that automatically displays up-to-date information from various data sources. These dashboards can be created by dragging elements on a canvas, and connecting them to data sources such as APIs, SQL databases and spreadsheets.

I led the development of a new major version of the product and migrated the codebase to a more modern an more scalable architecture: from stateful services that were hard to scale to stateless services that could scale horizontally, from jQuery to Vue, from Javascript to Typescript, from release in zip files to containers.

It was also my first professional experience with Scala and Akka, which I has taught myself and introduced in an attempt to build a more scalable platform. Actors and message-passing made it easier to reason about the live data update that were dispatched throughout the system.

Read more →

Junior Javascript Developer @Docler Holding
javascript node

As a junior javascript developer, I worked on a marketing platform that managed e-mail campaigns, leads, vouchers and analytics for a company that sold e-books and various digital goods.
Read more →