Skip to content
Riadh Mnasri

Portfolio

A selection of personal projects, built end to end: architecture, development, deployment.

Some are deployed in production and genuinely used, others are architecture or learning exercises presented as such: each serves a specific purpose, not a tutorial followed to the letter.

See my full CV and freelance profile

Scan to open my portfolio site

Professional projects

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.

Domain, application and infrastructure: all three layers delivered

  • 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.

Deployed and usable online

  • TypeScript
  • Hexagonal
  • 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.

20 articles, 71-term glossary

  • Next.js
  • TypeScript

Open source libraries

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.

No public Kotlin/JVM equivalent existed before this project

  • Kotlin
  • TDD

Side projects

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.

Used personally to keep Kafka skills sharp between engagements

  • Next.js
  • TypeScript

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.

Used for my own freelance interviews

  • Next.js
  • TypeScript

GoPrimer

Learning the Go language from scratch, bilingual French/English, no gamification: just pedagogical clarity.

A path of modules and lessons with exercises to discover Go, fully typed pedagogical content kept separate from the display engine.

Freely deployed and usable online

  • Next.js
  • TypeScript