Projects

Each project has unit and integration tests, CI and a demo. Projects marked "Planned" follow the roadmap.

Category
Technology
Done Sprint S1-S9+S35+S40+S44+S63 · 16 points

Portfolio showcase

This site: multi-page, bilingual, responsive, dark mode, no framework.

Taught in M1 (human-computer interaction)

  • HTML
  • CSS
  • JavaScript
  • Node.js
  • Playwright
  • GitHub Actions
Done Sprint S2-S6+S42 · 10 points

C mesh library

OBJ/PLY reading and writing, CLI, compiled to WebAssembly for an in-browser demo.

Taught in L3 (advanced C programming)

  • C
  • CMake
  • Emscripten
  • Unity
  • Valgrind
  • libFuzzer
Done Sprint S4-S5+S36-S41+S43 · 36 points

3D topology

Meshes in a 3D viewer, with topological analysis.

My PhD topic

  • C++
  • Three.js
  • GoogleTest
Done Sprint S6-S7 · 8 points

Python API

FastAPI service exposing the topology computations, containerised with Docker.

  • Python
  • FastAPI
  • pytest
  • Docker
Done Sprint S8+S16 · 13 points

ML and MLOps

3D shape classifier with data versioning, experiment tracking and CI-gated deployment.

Extends the 3D CNN from my PhD

  • PyTorch
  • scikit-learn
  • DVC
  • MLflow
  • ONNX
  • GitHub Actions
Done Sprint S9+S35 · 8 points

Ada crossroads

Traffic light simulator where dangerous states are ruled out by typing.

  • Ada
  • SPARK
  • GNAT
  • AUnit
  • Alire
Done Sprint S10 · 5 points

SQL benchmark database

Schema, views, window functions and indexes, with an in-browser SQL playground.

Taught in L2 (databases)

  • PostgreSQL
  • SQL
  • sql.js
  • pgTAP
Done Sprint S11-S12 · 8 points

Toy language

Parsed with Flex/Bison, evaluated in OCaml, syntax tree displayed.

Taught in L2 (formal languages)

  • Flex
  • Bison
  • OCaml
  • C
Done Sprint S13-S14 · 8 points

LaTeX editor

Overleaf-style editor: an article introducing this portfolio, rendered live.

  • TypeScript
  • KaTeX
  • LaTeX
Done Sprint S15+S40 · 7 points

G-maps mini-course

Darts, involutions and orbits, with an interactive cube and a quiz.

Teaching and PhD topic

  • JavaScript
  • SVG
Done Sprint S26-S27 · 13 points

Qt/OpenGL viewer

Windows, Linux and macOS desktop app to load and inspect meshes.

  • C++
  • Qt
  • OpenGL
  • Qt Test
Done Sprint S28-S29 · 13 points

CPU/GPU parallel computing

Curvature computed with OpenMP, CUDA and OpenCL, with compared benchmarks.

Parallel computing developed during my PhD

  • C++
  • OpenMP
  • CUDA
  • OpenCL
Done Sprint S30-S31 · 13 points

React dashboard

Project results, benchmarks and embedded 3D viewer.

Taught in M1 (React)

  • React
  • TypeScript
  • Vite
  • Vitest
  • Playwright
Done Sprint S32 · 8 points

Angular dashboard

Two dashboard views, compared with the React version.

  • Angular
  • TypeScript
  • Jest
  • Cypress
Done Sprint S33-S34 · 8 points

Ray tracer

Ray-traced rendering of the common-thread meshes, in C++ compiled to WebAssembly, usable online.

  • C++
  • WebAssembly
  • Emscripten
  • CMake
  • GoogleTest
In progress Sprint S61-S62 · 10 points

Documentation assistant (RAG)

An assistant that answers questions about technical documentation, citing its sources down to the file and line, and saying when they hold no answer.

  • Python
  • FastAPI
  • Qdrant
  • Claude
  • pytest
  • Docker

Games

Six games I programmed during my studies, rewritten today with AI, tested and playable where possible, and a tactical RPG written from scratch.

Done Sprint S17-S18 · 8 points

Othello

Rewrite of a game from my studies: C engine (rules, minimax alpha-beta AI), playable in the browser through WebAssembly.

  • C
  • CMake
  • Emscripten
  • Unity
Done Sprint S20 · 5 points

Text adventure

Rewrite of a game from my studies: a text adventure (places, items, fights), in Java.

  • Java
  • Maven
  • JUnit
  • TeaVM
Done Sprint S21 · 3 points

War (card game)

Rewrite of a game from my studies: War, the card game, in Ada.

  • Ada
  • Alire
  • AUnit
Done Sprint S22 · 3 points

Tic-tac-toe

Rewrite of a game from my studies: tic-tac-toe against an unbeatable AI (minimax), in Python.

  • Python
  • pytest
  • mypy
Done Sprint S23-S25 · 13 points

2D roguelike

Rewrite of a game from my studies: a 2D roguelike in Godot 4 with C#, and an ASP.NET Core score API (JWT accounts, PostgreSQL) that checks every run by replaying it.

  • Godot 4
  • C#
  • .NET
  • ASP.NET Core
  • EF Core
  • PostgreSQL
  • JWT
  • OpenAPI
  • xUnit
  • Docker
In progress Sprint S45-S60+S64-S219 · 728 points

Osmose, a tactical RPG

A turn-based tactical RPG in the style of Dofus, written from scratch: a Godot 4 C# client for Windows, macOS and Linux, rules shared with an ASP.NET Core server for accounts and characters, a launcher in Rust.

  • Godot 4
  • C#
  • .NET
  • ASP.NET Core
  • EF Core
  • PostgreSQL
  • JWT
  • Rust
  • Tauri
  • xUnit
  • Docker