Kevin MartinPortfolio · 2026
000
On chauffe les particules
KMDisponible pour quelques projets
Royan --:--EN
Développeur fullstack & creative coderRoyan, France · 45,62°N 1,03°O

KevinMartin

Développeur fullstack le jour, je fabrique
le soir venu.

Treize ans à livrer pour Dailymotion, le Groupe Renault, Roole et Arval. React et GraphQL côté interface, Node, .NET et PHP derrière. Basé à Royan, sur la côte atlantique.

Stack

  • React
  • TypeScript
  • GraphQL
  • Node.js
  • Three.js
  • WebAssembly
  • CSS
  • Swift
  • C
  • Rust
  • Cloudflare
  • Socket.IO
  • .NET
  • PHP
  • Docker

À propos

Ce qui me passionne, c'est la couche que l'on ressent vraiment : l'interface. Le mouvement, la typo, le timing, tous ces petits détails qui donnent vie à un produit.

J'ai construit les outils partenaires de Dailymotion, des modules web pour le Groupe Renault, l'espace adhérent de Roole et des applications de gestion de flotte pour Arval. Aujourd'hui, je fais tourner Studio KMA, mon propre studio, depuis Royan.

Le soir, je n'arrête pas de construire : un jeu console de 1986 recompilé en C, un service de mock d'API, deux apps iOS, un Snake multijoueur. Vous les trouverez plus bas, dans le Lab.

Aujourd'hui
Studio KMA, Royan
Avant
Dailymotion · Renault · Roole · Arval
Stack du jour
React · GraphQL · Node
Le soir
Jeux, CodePen, musique

Le soir

Le Lab

Six choses construites le soir en 2026 : un SaaS, un éditeur de niveaux qui fait tourner un jeu de 1986 recompilé, un jeu de tir multijoueur, deux apps iOS et un light show pour Counter-Strike.

  1. 01Bêta publiqueLoutreSaaS · Outil dev
  2. 02Bêta 4Super Alex Kidd MakerApp desktop · Éditeur de niveaux
  3. 03En ligneCSnakeJeu navigateur · Multijoueur
  4. 04Sur l'App StoreThis Is Simply LifeJeu iOS · Simulateur de vie
  5. 05Sur l'App StoreSimply WeatherApp iOS · Météo
  6. 06Open sourcecs2-ambilightOutil · Maison connectée

01SaaS · Outil dev2026Bêta publique

Loutre

Votre API mockée, en ligne en 10 secondes.

Loutre : votre API mockée en ligne en 10 secondes, à côté d'un exemple de réponse JSON
La page de comparaison de Loutre face à Beeceptor, Mockfly et Postman

Collez un schéma d'API, obtenez une URL hébergée qui répond avec des données réalistes. Gratuit, sans compte. Loutre lit OpenAPI 3.0 à 3.2, Swagger 2.0, les types TypeScript, les collections Postman, Insomnia et Bruno, les fichiers HAR, json-server, les commandes curl et GraphQL, et convertit le tout en OpenAPI 3.1 avant de servir.

Les données sont générées une seule fois, avec une graine stable, et restent cohérentes : e-mails tirés des noms, villes avec leur code postal, totaux qui collent aux articles. Un seul appel à Claude par mock remplit les champs de texte libre avec des valeurs adaptées au domaine de l'API. Le service, lui, n'appelle jamais l'IA.

Ensuite, vous pilotez : statut, latence, taux d'erreur et scénarios par route ou par en-tête de requête, écritures conservées par mock, journal des requêtes avec rejeu, et un serveur MCP pour que Claude Code crée et pilote des mocks tout seul.

Points forts

  • Construit seul en trois semaines, du premier commit à la bêta publique
  • Un compilateur Effect typé pour plus de 10 formats d'API, testé sur ~100 specs réelles
  • Servi en edge sur Cloudflare Workers, KV et Durable Objects
  • Serveur MCP, CLI sur npm (npx loutre serve) et facturation Stripe
  • Audit de sécurité avant lancement : schema bombs, ReDoS, CSRF, contournement de quota, chaque correctif couvert par un test
Démarré
Sept. 2026
Plateforme
Web · CLI · MCP
Tarifs
Gratuit · Pro 12 €/mois
Taille
~28 000 lignes de TS

02App desktop · Éditeur de niveaux2026Bêta 4

Super Alex Kidd Maker

Un Super Mario Maker pour Alex Kidd in Miracle World (Sega, 1986)

Construisez un niveau, appuyez sur Play : il tourne sur le jeu de 1986, réécrit en C.

Super Alex Kidd Maker en bêta, disponible sur Windows, macOS et Linux
L'icône de Super Alex Kidd Maker, une boulette de riz en pixel art

Un éditeur de niveaux à la Mario Maker pour le classique de la Master System. Choisissez l'un des 17 décors du jeu, peignez avec ses 256 blocs bruts, placez n'importe quel ennemi n'importe où, scriptez des boss janken jusqu'à 15 coups de pierre-feuille-ciseaux, ajoutez véhicules, zones bonus et limites de temps. La ROM, c'est vous qui l'apportez.

Sous l'éditeur, tout le jeu a été traduit du code Z80 de la cartouche vers du C par un recompilateur que j'ai écrit en Python, puis réécrit à la main en C lisible, routine par routine. Il compile en WebAssembly pour l'éditeur et en binaire SDL2 natif.

La fidélité est prouvée de trois façons : chaque instruction Z80 face à un émulateur de référence, l'état complet de la machine comparé image par image avec la vraie ROM, et chaque fonction réécrite qui tourne à côté de sa jumelle générée pendant de vraies parties.

Points forts

  • Recompilation statique d'une cartouche Z80 : ~43 000 lignes de C, 665 routines reprises à la main
  • Limites de la console levées pour les niveaux persos : les niveaux « anarchie » bondés passent sans broncher
  • Partage en ligne avec codes de niveau, likes, records et galerie web, sur Cloudflare D1 et R2 pour 0 €
  • Versions signées et notarisées pour macOS, Windows et Linux, avec mise à jour automatique
  • Un bug de freeze du jeu original de 1986 découvert au passage
Démarré
Sept. 2026
Plateforme
macOS · Windows · Linux
Moteur
Z80 → C → WebAssembly
Taille
~65 000 lignes

03Jeu navigateur · Multijoueur2026En ligne

CSnake

Nom de code Snake Strike · Snake × Counter-Strike

Snake rencontre Counter-Strike. Votre escouade vous suit en file indienne et tire là où vous visez.

CSnake : une manche de Deathmatch contre des bots sur une carte à la Dust2, dans une fenêtre façon Counter-Strike 1.6
L'icône de CSnake, un serpent orange sur un damier

Vous dirigez le chef, vos soldats suivent comme la queue d'un serpent et chacun d'eux tire vers votre viseur. Plus l'escouade est longue, plus elle frappe fort, et plus elle fait une belle cible. Si le chef tombe, toute l'escouade tombe avec lui.

Trois modes tout droit sortis de CS : Deathmatch avec un Golden Deagle qui apparaît au milieu de la carte, Gun Game du pistolet à l'AWP, et un mode bombe classé où les T posent en A ou en B et les CT désamorcent. Grenades, brouillard de guerre et pas ennemis qu'on entend venir, sur une carte à la Dust2 avec ses callouts.

Jouez en solo contre des bots du 1v1 au 5v5, ou en ligne : partie rapide, salons privés avec un code de quatre lettres, chat et classement ELO.

Points forts

  • Un seul moteur déterministe partagé par le serveur, le solo et la démo du menu
  • Serveur Node qui fait autorité à 20 Hz, brouillard de guerre appliqué côté serveur : les wallhacks ne voient rien
  • Rangs CS:GO, 11 skins d'escouade, défis quotidiens et menus façon CS 1.6
  • Chaque son synthétisé en direct avec la Web Audio API, zéro fichier audio
  • PWA installable avec deux joysticks virtuels sur mobile
Démarré
Avril 2026
Plateforme
Navigateur · PWA
Netcode
Socket.IO · 20 Hz
Taille
~7 600 lignes

04Jeu iOS · Simulateur de vie2026Sur l'App Store

This Is Simply Life

Vous naissez quelque part en France. Après, tout est de votre faute.

This Is Simply Life : écrivez toute une vie, année après année
Chaque choix vous engage pour vingt ans
Votre meilleure vie hante les suivantes sous forme de fantôme

Un simulateur de vie textuel, écrit en français. Chaque année, vous touchez « +1 an » et la vie répond. Des choix courts, des conséquences longues : un contrat de mariage signé à 31 ans qui se réveille au divorce, une voie imposée à votre fille qui ressort lors d'un repas de famille.

Montez une boîte et faites-la entrer en Bourse, présentez-vous à la mairie et finissez ministre, bâtissez un patrimoine immobilier à crédit, fondez une famille, vieillissez pour de vrai avec retraites et bilans de santé. Votre meilleure vie devient un fantôme que chaque nouvelle partie tente de battre, et une dynastie se poursuit à travers vos héritiers.

Le moteur est en JavaScript pur, partagé par la version web et une app Expo entièrement native, sans WebView. Des simulateurs headless jouent des centaines de vies pour l'équilibrer, et le nouveau contenu arrive over-the-air, sans repasser par la validation de l'App Store.

Points forts

  • 323 événements, 38 carrières et 199 missions de carrière
  • Arcs de mémoire : des choix vieux de plusieurs décennies vous rattrapent
  • 8 simulateurs headless équilibrent le jeu sur des centaines de vies simulées
  • Interface React Native native, au-dessus d'un moteur JS pur partagé
  • Mises à jour de contenu over-the-air avec EAS
Sortie
Sept. 2026
Plateforme
iPhone · iPad
Prix
Gratuit
Langue
Français

05App iOS · Météo2026Sur l'App Store

Simply Weather

La météo en plein écran. Sans pub, sans compte, sans traceur.

L'écran d'accueil de Simply Weather : Paris, 22 degrés, de la pluie dans 30 minutes environ
Le radar de pluie animé sur la France
Les réglages de thème

Une ville par écran, l'essentiel d'un coup d'œil : température, ressenti, la pluie à venir. Quatorze blocs à activer et réordonner par glisser-déposer, de la pluie dans l'heure à la qualité de l'air, aux pollens, au ciel étoilé et à la température de la mer.

La pluie est la star : détection au quart d'heure près, radar animé avec deux heures d'historique et 30 minutes de prévision, et un compte à rebours avant l'averse dans la Dynamic Island. Les modèles météo côte à côte : Météo-France, ECMWF, ICON, GFS et WeatherNext 2 de Google.

Construite avec des technos web et livrée en natif via Capacitor, avec du Swift là où ça compte : widgets, une Live Activity, une app Apple Watch avec complications et des raccourcis Siri. L'historique remonte jusqu'en 1940.

Points forts

  • 14 blocs modulaires, 10 thèmes dont des préréglages pour daltoniens, une galerie de thèmes de la communauté
  • Compte à rebours de la pluie dans la Dynamic Island et complications Apple Watch
  • Comparaison de modèles, dont WeatherNext 2 de Google DeepMind
  • La météo de n'importe quel jour depuis 1940, avec normales et records
  • Tout reste sur l'appareil : pas de compte, pas de traceur, pas de pub
Sortie
Juillet 2026
Plateforme
iPhone · Apple Watch
Prix
Gratuit
Natif
4 cibles Swift

06Outil · Maison connectée2026Open source

cs2-ambilight

Vos lampes Philips Hue jouent le match de Counter-Strike 2 avec vous.

Le battement du C4 s'accélère au vrai rythme des bips, l'explosion traverse la pièce en boule de feu puis en braises qui s'éteignent, les manches gagnées clignotent en rouge ou en bleu selon le camp vainqueur, et un balayage doré parcourt vos lampes quand vous êtes MVP de la manche.

Il lit la Game State Integration officielle de Valve : rien n'est injecté dans le jeu et la config s'installe toute seule. Les effets partent vers les ampoules à 50 images par seconde via l'API Hue Entertainment, puis chaque lampe retrouve exactement l'état dans lequel elle était.

La version 2 ajoute un vrai ambilight : un petit sidecar en Rust capture l'écran via DXGI, laisse le GPU réduire chaque image en une petite grille, et associe ses zones à l'emplacement de vos lampes dans la pièce.

Points forts

  • Éditeur de règles : 8 événements CS2 × 6 animations, avec couleur et vitesse
  • Streaming DTLS/UDP à 50 fps, avec repli en REST
  • Capture d'écran pour environ 0,1 % d'un cœur de CPU, dans un binaire de 220 Ko
  • Tourne sur le PC de jeu ou dans Docker sur un NAS
Démarré
Sept. 2026
Tourne sur
Windows · Linux · Docker
Lampes
Philips Hue
Taille
~3 200 lignes

Contact

Une idée farfelue ?On la construit.

Une mission freelance, un projet pour Studio KMA, ou juste un mot sur une expérience du Lab : ma boîte mail est ouverte.

bonjour@kma.studio
© 2026 Kevin Martin · Studio KMAFait à Royan avec three.js, GSAP & LenisRetour en haut ↑