🌟 What Projects Do I Love to Work On?

I enjoy working on various types of projects, but there's always a common theme: architectures and paradigms. I'm really passionate about experimenting with new frameworks that offer different programming paradigms or architectures. 🎨💻

For example, I love working with Bevy, a game engine in Rust, which offers a fascinating programming paradigm (ECS - Entity Component System). Another favorite is Dora, a robotics framework in Rust, which has a very interesting dataflow-oriented architecture.

In addition to that, I also enjoy creating small tools that simplify everyday life for developers, such as setting up Python environments and managing installations more easily. 🛠️🚀


🚀 Projects I Have Worked On

I started programming in 2014 with Java and later moved on to C++ from 2017 to 2021. Since 2021, I’ve been focusing all my time on Rust, which is a programming language I absolutely love! ❤️ Along the way, I also picked up Python, which is particularly useful for academic projects.

Here’s a (non-exhaustive) inventory of some of the projects I've worked on (sorry, most of them aren't on GitHub 😅):

💻 Java Projects

  • Game of Life: This was one of my very first projects, where I implemented the Game of Life using Java, with Swing for the graphical interface.
  • J.A.R.V.I.S: A voice assistant written in Java that used the Google Speech API for voice recognition. My Java skills were still quite limited at the time, so I built it using a rather clunky finite-state machine.
  • Voxel3D: One of my first group projects. We aimed to recreate a Minecraft-like game in Java with LWJGL2. Although the project was fascinating, we had to abandon it due to the complexity of maintaining such a large project.

🖥️ C++ Projects

  • Voxel3D (C++ Edition): The same project as before but re-implemented in C++. I worked on this one solo and quickly saw the performance difference between Java and C++. Back then, I didn’t code C++ correctly (more like "C with classes," which is bad practice), but it motivated me to learn Modern C++ (C++17) later on.
  • No Dungeons Nor Dragons: A small 2D RPG game in C++ using OpenGL 4 (GLFW + Glad). It was a simpler project than Voxel3D and my first attempt at using modern C++ concepts (like smart pointers, RAII, etc.).
  • Hnz-ECS: I built a game engine in C++17 using an ECS (Entity Component System) architecture. This was mainly an educational project to learn how to create a game engine and implement an ECS from scratch. It was super interesting but far too ambitious to complete fully.
  • Encrypted Messaging: A solo project where I built an end-to-end encrypted messaging system in C++17 using OpenSSL. I also designed a custom communication protocol. This was a research-oriented project, and I didn't plan for it to be easily usable by others.

I also worked on some fun Modern C++ projects, like a Paint app, small games like Tetris and Snake, using XMake for project management.

🦀 Rust Projects

I started learning Rust in 2021 and built small projects to master the language (shout out to Rust by Example!). Eventually, I tackled more ambitious projects, such as:

  • L.I.F.E: A mini operating system built in Rust by following Philipp Oppermann's tutorial. I learned a lot about OS architecture, built a bootloader and kernel, but the main goal was to explore Rust for more serious projects.
  • ECS: This project aimed to create an ECS in Rust with my best friend, using concepts from our Algorithmics course at CentraleSupélec. It was an exciting attempt to design an efficient algorithm for an ECS system.
  • Raymarching2D: A research project where I explored raymarching in 2D using WGpu and WGSL. I wanted to understand how raymarching works in rendering pipelines.
  • Raymarching3D: Similar to the 2D project, but this time in 3D!
  • ZZ: This is a comprehensive project to experiment with GitHub development workflows. It’s a set of tools for simplifying life with Python, mainly a wrapper around uv to make the beginner experience even easier. The entire release workflow is automated with cargo-dist.
  • Dora: I started contributing to this robotics framework in Rust in 2023. I implemented Dora on real robots (a simulated car and 3 different pairs of robotic arms) during an internship at Hugging Face. We integrated the LeRobot library into Dora pipelines to conduct robotics experiments with machine learning models.
  • Fastformat: A project I maintain for the dora-rs organization. It’s a data formatting library for sensor data into Arrow format. It complements Dora because Dora uses Arrow format for communication, making Fastformat useful for sharing real-world data in robotics programs. This was my first time working with Test Driven Development (TDD), and I learned a lot about code quality and robust testing. 🧪✅

That’s a wrap on the projects I’ve worked on! Each project taught me something new, and I’m always eager to dive into the next one. 😊