My projects

Over the past two years much of our teaching was project-based. I also had the chance to participate in the synthetic biology competition iGEM.

IGEM - 2025

I was approached by a member of the iGEM team at our university to help with the project, so I designed and coded our wiki.

IGEM Gold Medal

Our project focused on engineering cyanobacteria strains to optimize enzyme efficiency and significantly improve carbon fixation.

Evry Paris-Saclay | Solaris

At the Grand Jamboree we were nominated for Best New Basic Part and received a Gold Medal.

IGEM Wiki

I will participate again in the next edition and hope to contribute more to the team.

This project sparked an interest in biology I didn't know I had, so I began learning more about bioinformatics to branch out.

PythonReact

IGEM - 2026

I decided to join the IGEM association for the following editions.

This year, we are working on designing orthogonal ribosomes to enable targeted synthetic protein translation.

Evry Paris-Saclay | ORBIT

Like last year, I am helping with the wiki, but this time I get to help earlier with the promotional video, editing, design, and project decisions.

University

Here are some projects I completed over the past two years

L3

Tomography

Given two big-endian binary files of raw tomographic probe data (atomic x/y/z coordinates plus mass), I wrote a compact Python script (<300 lines) to parse them and let the user filter the point cloud by a geometric slice (plane + thickness) or by a mass range. Output included histograms of atomic mass distribution and 2D projections color-coded by mass, and the pipeline could also export the filtered data as a 3D model.

Python

Database

We had to model a database for a university. The model was fairly simple: I created tables for professors, courses, exams, students, grades, etc, and to validate the database, the teacher gave us the description of 40 SQL queries that we had to interpret and test.

Postgresql

Windows AD

Deployed an Active Directory domain controller on Windows Server to manage centralized user authentication, GPOs, and network share permissions.

Windows

DNSSEC - DoT/DoH

Set up a recursive DNS resolver with Unbound, configured with the IANA root trust anchor for DNSSEC validation, and verified with dig +dnssec and a packet capture showing the RRSIG record alongside the A record — confirming DNSSEC signs responses for authenticity rather than encrypting them. Benchmarked resolver caching (a repeated query dropped from ~40ms to ~20ms once cached), then tried forwarding queries over DoH before switching to DNS-over-TLS per course guidance, testing several resolvers (FDN, Mullvad, Quad9, Wikimedia) and confirming over a capture that query content was encrypted while the destination server remained visible.

LinuxDebian

nftables

Configured nftables on a gateway machine to masquerade an internal /24 LAN out to the internet (prerouting DNAT + postrouting masquerade), letting internal hosts reach external machines and the internet with their traffic translated to the gateway's address — verified with ping, SSH, and packet captures on both sides. Added a DNAT port-forwarding rule to redirect inbound SSH on the gateway straight to an internal host, confirmed by SSHing in from an external machine into a user that only existed on the internal target.

LinuxDebian

M1

CARP

Implemented a high-availability firewall pair using CARP on OpenBSD: two nodes share virtual IPs across two LAN segments via dedicated carp interfaces, prioritized with advskew, and stay in sync over a pfsync interface. Wrote a pf ruleset to allow the CARP/pfsync traffic, then validated failover by killing the primary node mid-ping and confirming the secondary took over seamlessly, captured with Wireshark.

Openbsd

LVS

Built a load-balanced service with Linux Virtual Server in NAT mode: configured a virtual service with ipvsadm using round-robin scheduling, forwarding to two real backend servers via IP masquerading. Verified the balancing by repeatedly curling the virtual IP and watching responses alternate between the backends, and also studied Direct Routing (DR) mode as a lower-overhead alternative.

LinuxRockylinux

Database

Deployed Oracle Database (via a Podman container on Oracle Linux 10) alongside MongoDB, managed through Cockpit and firewalled to expose only the needed ports. Since neither MongoDB Compass nor SQL Developer shipped for my distro, I converted Compass from RPM to DEB with alien and ran SQL Developer inside a Distrobox Oracle Linux container. Finally wrote a script piping SQL*cl's JSON_OBJECT/JSON_ARRAYAGG output straight into mongoimport to migrate query results from Oracle into MongoDB collections.

LinuxGrOracleMongodbTbSqlPodmanCockpitPython

Petri

Modeled a fast-food's operations as a group project: a 42-place, 35-transition Petri net covering checkout queues, kitchen capacity, dine-in/takeout seating, and ingredient stock, analyzed with the TINA toolbox. An initial tina -R run revealed the net was unbounded (one queue was leaking tokens instead of consuming them, ballooning past 20GB of RAM); once fixed, structural analysis (struct) proved place invariants for staff, queue, seating, and stock conservation. Full state-space exploration hit combinatorial explosion (710k+ states, 4.6M+ transitions) before timing out, so liveness couldn't be formally proven — instead we simulated rush-hour, understaffed, and stock-out scenarios to observe the model stayed deadlock-free in practice.

DHCP

Set up two ISC DHCP servers on Debian, first splitting a /24 into two unequal pools (an 80/20 split) so each server hands out addresses from its own range, with NAT configured on the router via nftables. Then reconfigured both servers to share a single pool through DHCP failover (failover peer, split 128 for an even 50/50 load), where clients are assigned to a server based on a MAC-address hash and the two servers replicate lease state to each other over TCP/647 with BNDUPD/BNDACK messages.

LinuxAlpinelinux

Cumulus & Debian Network Architecture

Group project building and studying four network architectures using Cumulus Linux for the switches and Debian 13 for the clients. Focused on link and switch redundancy and on the Spanning Tree Protocol.

LinuxDebian

YubiKey & PGP

Explored integrating hardware and software security into a Linux environment. I hardened authentication with a YubiKey: TOTP-based two-factor authentication for SSH, FIDO2/U2F for web logins, and passkey management. I then went deeper into GnuPG for asymmetric cryptography, covering key management (generation, subkeys) and signing/encrypting documents and emails, along with how public keys get validated.

LinuxYubicoGnuprivacyguard

Personal

Read-Write-Grow Hackathon

rwg.bio

Friends from the IGEM team suggested we participate in this hackathon, so we formed two teams. We focused on predicting and designing RNA nanocages. I personally worked on processing the RNA and predicting the secondary structure.

GitHub Repository

Although we did not win, our sister team was amongst the top ten and got to pitch their idea to professionals and receive guidance.

Python

Cardi-Hack Challenge

Suggested by a friend studying bioinformatics, this challenge involved fine-tuning a language model to process genomic data, calculate Polygenic Risk Scores (PRS), and evaluate cardiovascular risks.

Python

Cfold

Following the RWG hackathon, I started writing a program in C to predict RNA secondary and tertiary structure from its sequence. To do this, I created a physics engine to simulate the forces acting on the nucleotides.

Pymol visualization of RNA structureGitHub Repository
C

D4GEN Hackathon 2026

To help with the IGEM project this year, we decided to participate in the D4GEN Hackathon organized by Genopole. Our project was to develop a toolbox that would help the team with the Dry/Wet lab. As the Hackathon was sponsored by Amazon Web Services, we got to use their services without limit for the duration of the Hackathon; as such, we got to experiment a lot with their LM machines and notebooks.

D4GEN Hackathon toolboxGitHub Repository
PythonAmazonwebservices

ARDA

Following the small project on RNA 3D folding, I was approached by a teacher to continue working on the project with interns at the university's lab (IBISC), so I joined the lab for an internship. The project grew, and now we are building a commercial platform to offer our computation service. All services, website and databases are running on OVH BareMetal. The server is a Ryzen 7 9700X with 64Gb and 2x 512Gb NVME in RAID. Website is made using React, hosted using PM2, databases are ArangoDB for non-structured data and PSQL for user management. Automatic backups are sent to my personal server.

ARDAarda-bio.com
PythonReactLinux

My Server

I built myself a server with old parts, I'm running Fedora 44 on it, and I host a couple of Docker containers and services on it. I use NGINX for reverse-proxying and SSL. Currently, I'm hosting a Minecraft server, a file distribution server (Nextcloud) and I am toying with LM hosting and Folding@Home.

Server rack render
FedoraDockerNextcloud