Riadh Mnasri

Portfolio

Une sélection de projets personnels, menés en autonomie de bout en bout : architecture, développement, déploiement.

Voir mon CV et profil freelance complet

EloChessPlanner

Né de mon expérience d'aide à l'organisation des tournois au Club Échecs Bois-Colombes.

Organisation de tournois d'échecs (système suisse FIDE), import d'Elo depuis chess.com, Lichess, CSV ou la FFE.

  • Next.js
  • TypeScript
  • PostgreSQL

OpeningBook

Répertoires d'ouvertures d'échecs partagés en famille, avec moteur Stockfish embarqué.

Exploration de répertoires d'ouvertures via un graphe de positions (FEN), moteur Stockfish WASM et explorateur de parties Lichess.

  • Next.js
  • TypeScript
  • Stockfish WASM

Kortex

Modèle réplicable devenu une famille d'apps de révision (Kafkex, Vocably, Lingopack).

Application de révision Kotlin basée sur la répétition espacée (SRS Leitner), bilingue français/anglais.

  • Next.js
  • TypeScript

MissionMatch

Projet de référence pour démontrer une architecture hexagonale/DDD, tests d'abord, de bout en bout.

Backend Kotlin/Spring Boot et frontend Angular illustrant une architecture hexagonale/DDD avec TDD-BDD, event streaming Kafka et infrastructure Terraform. Pas encore déployé publiquement : capture prise en local.

  • Kotlin
  • Spring Boot
  • Angular
  • DDD
  • Hexagonal
  • Kafka
  • Terraform

counterparty-risk-lab

Implémentation pédagogique du calcul de risque de contrepartie (EAD, PFE, CVA) que je pratique en banque d'investissement.

MVP en TypeScript, architecture hexagonale et TDD de bout en bout, pour rendre manipulables des concepts de risque de contrepartie sans accès à un système bancaire réel.

  • TypeScript
  • Hexagonal
  • TDD

kotlin-counterparty-risk

Le même domaine que counterparty-risk-lab, vu cette fois comme une librairie Kotlin plutôt qu'une webapp.

Librairie Kotlin/JVM pédagogique pour calculer exposition, perte attendue (EL) et CVA sur des opérations de financement sur titres (SFT), avec un avertissement pédagogique fort : conçue pour apprendre et prototyper, pas pour un usage en production bancaire.

  • Kotlin
  • TDD

GoPrimer

Apprendre le langage Go depuis zéro, bilingue français/anglais, sans gamification : juste de la clarté pédagogique.

Parcours de modules et leçons avec exercices pour découvrir Go, contenu pédagogique entièrement typé et séparé du moteur d'affichage.

  • Next.js
  • TypeScript

MissionReady

Le même moteur de révision espacée que Kortex, appliqué cette fois à mes propres entretiens de mission freelance.

Flashcards de révision (répétition espacée) pour préparer des entretiens techniques freelance : AWS, Kubernetes, DDD, architecture hexagonale, TDD, Kafka, Kotlin, risque de contrepartie, IA appliquée au développement.

  • Next.js
  • TypeScript

kotlin-chess-tournament

L'algorithme d'appariement suisse derrière EloChessPlanner, extrait en librairie Kotlin/JVM autonome.

Appariement au système suisse, calcul de rating Elo et classement final avec départage (Buchholz, Sonneborn-Berger), là où seules des implémentations C++/Pascal ou JavaScript existaient jusque-là.

  • Kotlin
  • TDD

Cercle d'Échecs de Bois-Colombes

Le site officiel du club où je suis parent accompagnateur, migré d'un WordPress vieillissant vers Next.js.

Site vitrine et espace membres pour un vrai club (présentation, actualités, compétitions, adhésion en ligne, administration), livré avec un CMS mixte pour que le club reste autonome sur son contenu.

  • Next.js
  • TypeScript
  • Tailwind
  • PostgreSQL

Kafkex

Le moteur de révision de Kortex, réappliqué à Kafka : mon propre outil pour ne pas rouiller sur un sujet que je pratique en mission.

Flashcards de révision espacée niveau expert sur Apache Kafka (clusters, producers, consumers, transactions exactly-once, Kafka Streams, schema registry), bilingue, offline-first avec synchronisation multi-appareils.

  • Next.js
  • TypeScript

learning-rust

Apprendre un langage en public : 16 exemples testés, du premier programme jusqu'à l'async.

Parcours pédagogique du langage Rust depuis zéro, chaque notion illustrée par un exemple autonome avec ses propres tests unitaires, dépôt propre sous clippy.

  • Rust
  • TDD

Finance for Engineers

Site de référence bilingue sur la finance de marché et le risque de contrepartie, pour développeurs sans bagage financier.

20 articles et un glossaire de 71 termes, écrits pour rendre accessible ce que je pratique en banque d'investissement : exposition, CVA, netting, collatéral, SA-CCR.

  • Next.js
  • TypeScript