
Portfolio
A selection of personal projects, built end to end: architecture, development, deployment.
See my full CV and freelance profile



MissionMatch
Reference project demonstrating hexagonal/DDD architecture, test-first, end to end.
Kotlin/Spring Boot backend and Angular frontend demonstrating hexagonal/DDD architecture with TDD-BDD, Kafka event streaming and Terraform infrastructure. Not yet publicly deployed: screenshot taken locally.
- Kotlin
- Spring Boot
- Angular
- DDD
- Hexagonal
- Kafka
- Terraform

counterparty-risk-lab
A teaching implementation of the counterparty risk calculations (EAD, PFE, CVA) I work with in investment banking.
A TypeScript MVP, hexagonal architecture and end-to-end TDD, making counterparty risk concepts approachable without access to a real banking system.
- TypeScript
- Hexagonal
- TDD

kotlin-counterparty-risk
The same domain as counterparty-risk-lab, this time as a Kotlin library rather than a webapp.
A teaching Kotlin/JVM library for calculating exposure, expected loss (EL) and CVA on securities financing transactions (SFT), with a strong pedagogical disclaimer: built to learn and prototype, not for production banking use.
- Kotlin
- TDD


MissionReady
The same spaced-repetition engine as Kortex, applied this time to my own freelance interview prep.
Spaced-repetition flashcards to prepare for freelance technical interviews: AWS, Kubernetes, DDD, hexagonal architecture, TDD, Kafka, Kotlin, counterparty risk, AI-assisted development.
- Next.js
- TypeScript

kotlin-chess-tournament
The Swiss pairing algorithm behind EloChessPlanner, extracted into a standalone Kotlin/JVM library.
Swiss-system pairing, Elo rating calculation and final standings with tiebreaks (Buchholz, Sonneborn-Berger), where only C++/Pascal or JavaScript implementations existed before.
- Kotlin
- TDD

Cercle d'Échecs de Bois-Colombes
The official site of the club where I volunteer, migrated from an aging WordPress to Next.js.
A showcase site and member space for a real club (presentation, news, competitions, online membership, admin panel), delivered with a hybrid CMS so the club stays autonomous on its content.
- Next.js
- TypeScript
- Tailwind
- PostgreSQL

Kafkex
Kortex's revision engine, reapplied to Kafka: my own tool to stay sharp on a subject I use on client engagements.
Expert-level spaced-repetition flashcards on Apache Kafka (clusters, producers, consumers, exactly-once transactions, Kafka Streams, schema registry), bilingual, offline-first with cross-device sync.
- Next.js
- TypeScript

learning-rust
Learning a language in public: 16 tested examples, from the first program to async.
A pedagogical path through the Rust language from scratch, each concept illustrated by a standalone example with its own unit tests, clean under clippy.
- Rust
- TDD

Finance for Engineers
A bilingual reference site on market finance and counterparty risk, for developers with no finance background.
20 articles and a 71-term glossary, written to make what I practice in investment banking accessible: exposure, CVA, netting, collateral, SA-CCR.
- Next.js
- TypeScript