Projects
Applications and infrastructure, most of them in production. The game engine and level design work sits in the lab.
- PythonCrawlerTeam of three
Buddlea
An observatory of what an organisation leaves online : finding forgotten sites and pages, estimating how long they have been dormant, and saying what should happen to them. The dating method is public, and its margin of error is published with it.
- FastAPINext.jsPostgreSQL
Holocron
Companion platform for a tabletop campaign : character sheets, progression trees, PDF export, Discord bot, and a custom sheet embedded in Foundry VTT.
- PythonNext.jsTeam
Feudalytics
Match analysis for Age of Empires II Definitive Edition, in the spirit of League of Legends stats sites. Built with a team, with pull request reviews and automated release notes.
- Web gameData
Mortalité
Higher or lower game about what actually kills people, measured mortality against perceived risk. Sharks kill six people a year, mosquitoes 760 000. 277 cards, two datasets.
- FastAPICompilers
Shakespeare Playground
Runner, step by step visualiser and transpiler for the Shakespeare Programming Language, an esoteric language whose programs read like stage plays. 23 test cases against the real interpreter.
- Next.jsPostgreSQLRedis
Gamentix
Daily guessing game about video games, with a rotation served from a small API.
- MLOpsTimescaleDBCI/CD
AeroVision
Flight delay prediction stack : ingestion, time series database, secured API, dashboard, model training with experiment tracking, drift detection and monitoring. Built solo in four weeks.
- InfrastructureFinOps
hetzner-guard
Cost guard for cloud infrastructure : mandatory classification and declared lifetime at creation, automatic deletion of idle game servers, driven by a system timer, which outlives any application that stops.
- LaravelMySQLDiscontinued
GemStudy
A classroom management platform for teachers, built around a reward system that follows each pupil's progress. Laravel and MySQL, shipped to production alongside its staging environment. Discontinued, kept here for what it taught.