Hey there! I'm a 27-year-old software engineer passionate about coding, software and database architectures. Currently working as the Fullstack Tech Lead.
Building impactful software solutions
After working as a Software Engineer at AppTweak, I stepped up to the Fullstack Tech Lead role.
I'm the technical reference for fullstack topics across the team. Ruby on Rails is at the heart of our architecture, and I work daily with React, Typescript, and cloud technologies as well. A large part of the role is defining how we build things: choosing architectural patterns, setting up conventions, and making sure our codebase stays manageable as it grows.
I put a lot of emphasis on code design that favors composition and reusability, so what we build today doesn't become a headache to maintain later. I set high standards for architecture and testing (we rely heavily on RSpec), and I also work on improving the developer experience at AppTweak, for example by using GitHub Actions to automate parts of our development workflows.
I mentor engineers, lead cross-squad initiatives, and try to build a team culture where people are always learning from each other.
I also put effort into helping everyone on the team grow and develop their skills.
Ruby
Rails
RSpec
Sidekiq
GitHub
GitHub Actions
SQL
MySQL
Redis
React
TypeScript
PostgreSQL
ClickHouse
Docker
AWS
Slack
Jira
Agile
As a Product Architect at AppTweak, I lead a squad alongside the Engineering Manager and Product Manager, owning a specific set of products.
I'm involved early in the product process: brainstorming features with the PM, figuring out what's realistic technically, and helping the team make good decisions as we go from idea to implementation.
I make sure our architecture holds up as we scale, and I work to bridge the gap between what the development team needs and what product management is aiming for. I coordinate regularly with other Tech Leads and Product Architects to keep things consistent across squads, and I represent our squad in company-wide technical discussions.
A lot of the job comes down to communication: translating between product goals and technical reality, and making sure we're building things that will still make sense a year from now.
Ruby
Rails
RSpec
Sidekiq
Sinatra
Grape
GitHub
GitHub Actions
SQL
MySQL
Redis
React
TypeScript
JavaScript
PostgreSQL
ClickHouse
MongoDB
Docker
AWS
Google Cloud
HTML
CSS
Slack
Jira
Agile
At AppTweak, I work as a Software Engineer across the full stack. Beyond writing code, I'm heavily involved in product definition, project management, and delivery.
Most of our backend runs on Ruby on Rails. I lean heavily on composition and Ruby modules to keep things flexible and avoid deeply coupled code.
On the data side, I design database schemas in MySQL and PostgreSQL, and I work with OLAP platforms like Amazon Redshift and ClickHouse for data processing and analysis.
Testing is a big deal for me. I work mainly with RSpec and have spent time optimizing our test suites through parallelization and cutting redundant tests to keep them fast and reliable.
On the frontend, I work with React and Typescript. I've been using RTK Query to handle our API layer, which has made data fetching and caching much cleaner.
I'm also involved in how we run as a team: I help enforce our Scrum process, run sprint planning, retrospectives, and stand-ups.
Our team is small, which means I often step outside my core role. I've worked on things like implementing feature flags and parallelizing CI tests with GitHub Actions. I also make a point of sharing what I learn with the rest of the team.
I've designed end-to-end data pipelines as well, for example integrating new data sources using AWS SQS and EKS.
Overall, the role at AppTweak has been broad, spanning backend and frontend development, database design, CI/CD, and product work.
Ruby
Rails
RSpec
Sidekiq
Sinatra
Grape
GitHub
GitHub Actions
SQL
MySQL
Redis
React
TypeScript
JavaScript
PostgreSQL
ClickHouse
MongoDB
Docker
AWS
Google Cloud
HTML
CSS
Slack
Jira
Agile
During my internship at AppTweak, I worked as a Fullstack Developer. It was my first hands-on experience in a professional software team.
I used Ruby on Rails for backend development and React with TypeScript on the frontend. I also worked with MySQL and took part in the team's Scrum process.
Ruby
Rails
RSpec
Sinatra
GitHub
SQL
MySQL
React
TypeScript
Docker
AWS
Slack
Jira
Agile
At Logiscool, I taught programming to kids aged 7 to 15, running weekly sessions with groups of 6 to 12 students. For younger kids, I used a visual framework similar to Scratch; with the more advanced students, I taught Typescript and Python. Teaching forced me to really understand the material myself, and I learned a lot about explaining complex ideas in simple terms.
I also took on the Lead Trainer role, where I became the go-to person for other trainers when they ran into technical issues or needed help with their sessions.
The experience taught me a lot about communication and how to keep an audience engaged when covering technical topics.
TypeScript
JavaScript
Python
Scratch
Ecole Polytechnique de Bruxelles - ULB
Master's Degree in Computer Engineering — Magna Cum Laude
2020 - 2022
Bachelor's Degree in Engineering — Summa Cum Laude
2017 - 2020Validated expertise and continuous learning
Technologies and tools I work with
Ruby
TypeScript
JavaScript
Python
SQL
Java
C
C++
Rails
React
Sinatra
Grape
Sidekiq
RSpec
RuboCop
RTK Query
Tensorflow
Pandas
MySQL
PostgreSQL
Redis
MongoDB
ClickHouse
AWS
Docker
GitHub Actions
Google Cloud
GitHub
Jira
Slack
Agile
Scrum
Personal and academic projects
Python
Docker
GitHub Actions
GitHub
This action generates localized strings for a given project based on the source language. It first parses the source language localized files, then detects the missing keys in the target languages that will then be ingested by a translation API to generate the localized strings. Once the localized strings are generated, they are then saved in the target language files.
Bash
GitHub Actions
GitHub
This action will automatically sync major and minor tags with the latest release tag.
Bash
GitHub Actions
GitHub
This action will automatically bump a version file in a repository. It will bump the last number in the version file.
Python
NumPy
ROS
Bash
Raspberry Pi
Blender
GitHub
The focus of my master's thesis was on advancing the capabilities of swarm robotics through the integration of a 360-degree vision module for Sphero RVR robots. Swarm robotics, an emerging field, aims to achieve complex tasks through the collaboration of simple robots with limited sensors. The thesis tackled the challenge of enhancing information for each robot and, consequently, the entire swarm by proposing a cost-effective vision module.
The designed 360-degree vision module, tailored for a swarm of Sphero RVR robots, included a microprocessor and various cameras. Three distinct methods were explored for robot recognition: color segmentation utilizing LEDs, ArUco markers for localization, and a neural network trained on a dedicated dataset. Experimental evaluations and real-time applications were conducted to assess the performance of these methods.
Results revealed that real-time operations in computer vision demanded substantial resources, with challenges like motion blur affecting the effectiveness of certain methods. Despite limitations, the thesis showcased the potential of the vision module, providing a foundation for future enhancements in the capabilities of Sphero RVR robots within a swarm robotics context.
In summary, the master's thesis introduced a practical 360-degree vision module and outlined methods for robot recognition, enabling robots to identify and locate their peers. Integrating this vision module creates possibilities for extracting additional features in the future, improving information flow within a robot swarm. The thesis highlights the potential of computer vision in advancing swarm robotics, preparing it for more complex tasks and interactions with the environment.
WebGL
JavaScript
HTML
CSS
Blender
GitHub
In a Virtual Reality course, our team collaborated on a project using WebGL to craft a 3D RPG game. Emphasizing various virtual reality elements, the game featured immersive aspects like lights, bump mapping, reflection, refraction, particles, animations, explosions, shadows, sound effects, and a user-friendly interface with an ATH.
A notable challenge was avoiding external libraries, showcasing our ability to maximize the inherent capabilities of WebGL. The project captured the essence of creating a virtual reality, offering users a dynamic and interactive experience.
Python
NumPy
ROS
Bash
Raspberry Pi
GitHub
As part of my master's thesis, I developed a specialized package for the Robot Operating System (ROS) to enhance the capabilities of the Sphero RVR robot. This project, a crucial component of my thesis, involved the implementation of a vision module that I meticulously designed, prototyped, and built using a Raspberry Pi. The primary goal of my master's thesis was to smoothly integrate the growing potential of computer vision with swarm robotics.
The ROS package I created serves a pivotal role in enabling the Sphero RVR robot to recognize other robots. This recognition is achieved through various methods, including color segmentation, ArUco markers, and the utilization of a neural network EfficientDet0. By providing these recognition capabilities, the package contributes to advancing the field of swarm robotics, where collaboration and communication among robots are facilitated through innovative computer vision techniques.
Python
GitHub
In a collaborative project focused on pathfinding optimization, we dug into the complexities of the A* algorithm. Our implementation involved a comprehensive exploration of various heuristics, ranging from Chebyshev distance to the Euclidean metric. To enhance the user experience, we integrated a graphical interface, offering a visual representation of the algorithm's outcomes.
The project's main function visualizes the shortest path in an undirected node graph using the A* algorithm. A noteworthy addition was bidirectionality, enabling the algorithm to start from both ends simultaneously. Though this innovation boosted efficiency through parallelization, it did impact the guaranteed optimality of the solution. Nevertheless, the bidirectional approach demonstrated adaptability in balancing computational speed and solution quality for the A* algorithm.
Java
GitHub
In my second year of engineering, a friend and I started a Java project applying object-oriented programming principles. We created a simulation game inspired by the lively world of manga characters, reflecting my passion for anime.
In our 2D simulation game, we animated manga characters with lively sprites and added immersive sound effects. The gameplay included an experience system for character evolution and transformations, each equipped with multiple attacks. To up the challenge, we introduced enemies, including an intelligent boss. Throughout, we incorporated various anime references in characters and sounds, creating a fun blend of programming and pop culture.
Python
Arduino
Solidworks
Agile
During my academic journey, our team collaborated on a project centered on designing, prototyping, and building a robot with advanced functionalities. This versatile robot was engineered to detect, grasp, sort, and transport tubes based on their size. To achieve these capabilities, we integrated various sensors such as infrared, ultrasonic, and limit switches. The robot's mobility relied on wheel motors, while a carefully 3D-printed gripper, designed using Solidworks, was controlled by servomotors.
Our approach to project development included the creation of a simulation environment using Python and the turtle library. This environment served as a testing ground to validate various models before transitioning to the physical implementation phase. The logic governing the robot's actions was integrated using an Arduino, ensuring efficient communication between hardware components. Throughout the project, we followed an agile methodology, organizing our work into sprints to keep a dynamic and iterative development process. Our collective efforts led to the creation of a functional robot dedicated to its designated task, showcasing the collaborative spirit and technical abilities of our team.
Solidworks
In an engaging project sparked by my Quantum Physics teacher's proposal, I designed, prototyped, and built a homemade cloud chamber. Using 3D printing, plexiglass, and aluminum, I transformed the initial mini-prototype concept into a larger-scale cloud chamber. It proved capable of visualizing the radioactivity present in the air—an unexpected revelation.
This innovative project allowed me to witness the effects of radioactivity without the need for an external radioactive source. From the initial design to the meticulous construction, the cloud chamber became a tangible manifestation of theoretical concepts discussed in class. This practical experience not only offered valuable insights into the real-world applications of quantum physics but also highlighted the thrill of applying classroom theories to hands-on experiments.
Python
Bash
Arduino
Raspberry Pi
Agile
In the first year of my bachelor's program, I participated in a collaborative project focusing on the design, prototyping, and construction of an autonomous car. The aim was to create a vehicle capable of autonomously navigating a predefined arena, following roads, and interpreting traffic signs. To achieve this, we integrated various sensors, including a camera and infrared sensors, along with motors for precise wheel control.
The project followed a methodical approach, starting with simulations to validate our model before moving on to the implementation phase. Operating under agile methodology, we organized our workflow into sprints for a structured and iterative development process. The successful integration of hardware and software, alongside the use of microcontrollers, represented the achievement of our goals in creating a functional autonomous car prototype during our first year in the bachelor's program.