About me
Hey ! |
![]() |
What i'm doing
Latest News

Hey ! |
![]() |
Permanent Contract
Backend Developer
Databases Migrations/Management
Deployment | Monitoring | CI
Permanent Contract
Internship
Head Backend Developper for Airbus website
Mobile Developer for Airbus
Drone Production line Simulation for the 2023 Paris Air show
Jetbrains Extension for Fauxpilot
Internship
I hunted down bugs on their website.
Software develoment specialty. Class representative 3 years
Math, Physics and Engineering
I've used around 20 programming languages (Python, C#, C++, Java, HTML, TypeScript, ...) during
my
studies and personnal projects.
I'm most proficient in C#.
|
|||||||
|
|||||||
|
I'm the most proficient in Unity and learned everything by myself.
I've followed GameDevTV courses to
learn UE and started with Pygames, Stencyl and Intersect Engine.
Learned at my Engineering school, used in Sopra Steria Projects.
I participated in the writing / directing / shooting / editing of about a hundred clips
(humorous,
recaps, interviews ...) [Premiere pro, After Effects]
I operate a Twitch channel since 2017.
Work
Personal (3 Months)
Personal (2 weeks)
Personal (2 weeks)
Personal (3 Months)
Work
Engineering School
Personal (5 Months)
Self Learning (3 Months)
Team Project (1.5 Month)
Engineering School
Personal (1 Month)
I love taking part in associations.
It allows me to get to know other people and develop skills that you wouldn't normally have if you were
only
following a conventional route.
The SGN (Student Gaming Network) is the
federation of French student esports associations. |
|||||||||||||||
|
|||||||||||||||
|
|||||||||||||||
|
|||||||||||||||
|
Oserv is a French Esport
Association based in Toulouse, created in 2015. |
TVn7 is the video association of my engineering school
and is also one of the biggest student video associations in France.
|
|||
|
|||
|
|||
|
I currently work at JustWatch as a Software Engineer in the Backend Team.
I worked on the Golang backend of the website, used by millions of users every week. We fetch data from our own databases, a dedicated content internal grpc API, and other external APIs and services.
This data is then served to the web/mobile/tv frontend via a graphQL API.
We are responsible for the deployment of our services, thus having to monitor the health of our servers and services, and to ensure that they are running smoothly.
For that we use Grafana, Kubernetes, Google Cloud Monitoring and home made tools.
Between the different small daily tasks, I got assigned different bigger projects :
For quite a while the ability to launch a movie on your TV from the Justwatch App on your phone was not working. I was tasked to fix it.
I got some explanations to understand the old code, and in the end refactored everything, learned about graphql subscriptions, sat up a new Redis Instance and got it back to work again, with some more logging to measure how much the feature was being used.
I was tasked to change all cache systems that were relying on ScyllaDB, to use Redis instead.
The first step was to identify all the repos that were using this Scylla cache. I sat up a grafana dashboard to monitor the cache hit/miss/set rates of the caches, to see how it was used in production.
I then started, repo by repo, replacing the cache client, while keeping everything else intact. This was sometimes tricky as logic could be nested inside the client.
I tested the repo on stage when possible, and then monitor extremely closely when releasing on stage, comparing the scylla grafana Curves with the Redis ones.
Frontend at Justwatch is in tight contact with QA, so they do a lot of testing. To facilitate testing, they use canaries, which are prod environments used for testing :
PR Canaries are meant to have one canary for one Pull Request. Now, Frontend Devs can create Canaries by only clicking on a link that appears on a comment everytime they create a PR.
For this project I had to :
This was a challenging project as I had to learn a lot about things that were not documented, but after a lot of testing it clicked.
How about recreating Dead By Daylight in Minecraft as a plugin ? Sounds like fun let's do it !
This project took me 3 months, working on my free time at night and during weekends.
The first challenge was adapting the game mechanics that are present in Dead By Daylight to Minecraft. We need them to :
On rule I tried to follow, was to create new mechanics that incorporate themselves as much as possible into the native Minecraft gameplay. This is crucial to :
I replaced the machines in the original DbD game with noteblocks. Why ?
This means that even if the server lags a bit, the player experience of interacting with the noteblock will be smooth.
I then started writing all my ideas into a list, and ordered them by priority. |
I used the Paper API with Java to create the plugin, it has a lot of support, noice.
As always when starting a new project, I do a test project where I try to implement what I see in tutorials. I created test commands, event listeners ... And when I felt comfortable with the API, I started the real project.
The project architecture is as follows :
I had an old unused laptop, that I converted into a Ubuntu server. I opened one of its port to the world with the service
playit.ggThat way I control almost everything and it's easily accessible 😎
|
Game ArtI suck at making pretty things but I still created a dedicated resource pack for the mini game. A resource pack is a way to overwrite on the client, the default textures of the game.I just cherry-picked textures of other Resource packs found online (legally of course) into mine. This Resource pack is pretty important to distance the players from the original minecraft experience. |
I also scoured across the internet to find maps that would fit. I want them to be not too big, have closed space, a scary atmosphere, and not too much verticality. This one made by Nevas Buildings was perfect for the job. |
|
I was bored one weekend, and asked myself the question, "How do Youtube/Twitch/Soundcloud downloaders work ?"
First idea, let's investigate how our own browser reads youtube videos. I quickly learned that the video is streamed in chunks, and that the video is not stored in a single file / api call.
So can we try to download the video chunks and reassemble them ? 🤔
→ Seems kinda hard, so someone has probably done it before hahaha
Indeed! Meet :
https://github.com/ytdl-org/youtube-dlThis is a CLI tool that allows you to download videos from Youtube. We'll use it as base for our project.
The easiest way is by creating a website, with an input field where the user can paste the link of the video he wants to download.
(I'm not a frontend dev, two centered buttons for me is a masterpiece already)
I started working on a django project, but then realized I did not need all its complexity and that a simple Flask app would suffice, as services that offer to download videos from youtube are not welcome by google, so hosting it on a server is not an option.
So the flow of the app is as follows :
I wanted to add the ability to :
With the
Youtube API, this is all possible. However, I stopped working on the project before implementing this fully.
For the Grosse Ligue 2024-2025, a competition in partnership with Riot Games, we needed a way to handle players
questions with tickets.
I created from scratch in Python a self hosted custom Discord bot for this.
|
The players View
Players can open different kind of tickets and a
dedicated private thread is created for them.
|
|
The Admins View
Admins can see every created ticket and jump in to help players.
|
|
The only downside is that it needs to be thoroughly tested before being used, to account for every possible way players will try to break it 😄
I worked at Sopra Steria from March 2023 to May 2024, did my end-of-studies internship there, and got my first permanent contract.
![]() |
Airbus ProjectsI worked for Airbus in two different projects at Sopra Steria :
|
|
Omniverse - Paris Air Show
The project consisted in simulating a drone factory line in Nvidia's new 3D Engine, called
Omniverse. (Python)
|
![]() |
|
FauxPilot
I tested the capabilities and limitations of a tool similar to Github Copilot for possible
implementation in the company.
|
During the 2022 summer, after learning the basics of multiplayer programming with GameDev.TV, I built the same 2D Multiplayer game prototype in Unreal Engine and Unity.
![]() |
There are 2 players teams: The Survivors, who have to mimic the bot's movements and accomplish objectives, and The Hunters, who try to unveil the Survivors. |
![]() |
Challenges with Unreal Engine (1 month)
• Unreal Engine can produce 2D games with Paper2D but it's not made for.
(Pathfinding problems, ...) |
![]() |
Screenshot of the lobby, with 2 players, and a custom console on the top left. |
![]() |
Challenges with Unity (1.5 month)
• Debugging multiplayer's code errors → Deployment of on-screen client consoles |
• The basics of online programming (Client/Server hosted system) Replication (Which client owns what ?) • • Insight into Steam and Epic's tools for developers. (Steam SDK & EOS) Never trust the client, Iykyk 😉•
Pokemon Mystery Dungeon Online is a pokemon fan game based on the Pokemon Mystery Dungeon Serie from
Nintendo™.
I randomly stumbled upon this project and asked to take part in the development of it.
![]() |
The game is built upon the Intersect engine. |
Main Contribution
My biggest mission was to implement gamepad controls which aren't native. |
![]() |
During the 2022 Summer, I spent 2 months learning Unreal Engine by following courses on the GameDevTV
website.
I've used C++ and Blueprints, and discovered the basics of multiplayer programming.
Linguaskill test, by Cambridge :