Front-end
Interfaces web modernes, accessibles et rapides. Des SPA structurées comme du HTML/CSS taillé à la main quand la performance prime.
Produit · UX · Développement · Infrastructure
Chef de projet, chef de produit, développeur : je cadre le besoin et je le livre en production. Interfaces web et mobiles, moteurs temps réel en Rust, applications TV, APIs et l'infrastructure qui va avec — le même cerveau sur toute la chaîne, sans intermédiaire à qui traduire l'intention.
01 — Profil
La plupart des projets ne meurent pas d'un problème technique : ils meurent dans les traductions successives entre celui qui veut, celui qui dessine et celui qui code. Je fais les trois.
Je cadre le besoin, j'arbitre le périmètre, je dessine les parcours, j'écris le code et je tiens l'infrastructure. Sur un produit, ça veut dire des décisions prises en connaissance du coût réel ; sur une équipe, ça veut dire des specs qui tiennent debout parce qu'elles ont été écrites par quelqu'un qui devra les implémenter.
Mes projets vont de la plateforme métier multi-utilisateurs au moteur audio temps réel qui doit tenir sur scène, sans faute, pendant deux heures. Les deux m'intéressent pour la même raison : ils ne pardonnent pas l'approximation.
Et je reste ouvert à tout type de projet : startup ou grand compte, produit à lancer, existant à reprendre ou chantier à finir, mission courte comme engagement long. Si le sujet est sérieux, le domaine m'importe peu — j'ai toujours appris le métier du client avant d'écrire la première ligne.
02 — Savoir-faire
Interfaces web modernes, accessibles et rapides. Des SPA structurées comme du HTML/CSS taillé à la main quand la performance prime.
APIs REST et GraphQL, modèles de données, cache, jobs, intégrations tierces. Des services qu'on peut exploiter, pas seulement démarrer.
Applications natives desktop, moteurs audio et traitement temps réel avec les contraintes qui vont avec : zéro allocation dans le chemin critique, synchronisation multi-machines, tests qui le prouvent.
Applications iOS et Android, natives ou hybrides, jusqu'au store. Et les écrans qu'on oublie : Android TV et Apple TV, avec leur navigation à la télécommande et leurs règles propres.
Hébergement, DNS, edge computing, CI/CD, conteneurs. Du site statique distribué mondialement au cluster applicatif conteneurisé.
Intégrer des modèles dans un produit réel, tous fournisseurs confondus et sans s'y enfermer : génération, vision, OCR, modération, sorties structurées. Et ce qu'il y a autour — agents outillés, serveurs MCP, embeddings, vector stores et RAG qui répond avec les bonnes sources.
RGPD, mentions légales et contractuelles, préparation aux référentiels de sécurité. Rédiger une politique de confidentialité qui décrit vraiment les traitements, tenir un registre à jour, cadrer un hébergement de données de santé — la conformité pensée avec l'architecture, pas plaquée après coup.
Cadrage, priorisation, animation d'équipe, relation client. Savoir dire non à la bonne fonctionnalité au bon moment fait gagner plus de temps que n'importe quel framework.
03 — Projets
Projets personnels et professionnels. La majorité vit dans des dépôts privés : les descriptions parlent d'elles-mêmes, le code est visible sur demande.
Poste actuel · temps plein
La legaltech qui dématérialise le secrétariat juridique des sociétés.
Solution web utilisée par les avocats, juristes d'entreprise et experts-comptables pour tenir en ligne ce qui se tenait sur registres papier : délibérations d'assemblées générales, décisions du président, conseils d'administration et mouvements de titres. Le produit ne se contente pas de stocker des documents — il doit garantir leur opposabilité aux tiers au sens des décrets de 2018 et 2019, ce qui impose horodatage, chaînage et intégrité vérifiable des registres. Plus de 60 000 utilisateurs. J'y interviens en développement full-stack, du produit à la mise en production.
Ancien CTO · aujourd'hui full-stack
Automatiser la rédaction des documents juridiques complexes.
Plateforme SaaS qui transforme un modèle Word existant en questionnaire dynamique : le juriste modélise une fois, puis le document se génère en quelques clics, avec ses clauses conditionnelles et ses variantes. Deux régimes selon la criticité de l'acte — autopilot pour une génération entièrement automatique, copilot quand une relecture doit précéder l'émission — et des workflows et droits d'accès configurables pour faire intervenir les bonnes personnes au bon moment. Destinée aux directions juridiques et aux cabinets d'avocats. J'ai occupé le poste de CTO du produit, avant de revenir au développement full-stack.
Lecteur de backing tracks pour la scène, écrit intégralement en Rust.
Application desktop native (macOS + Windows) pour la lecture multipiste en concert, pilotée au pied. Le callback audio respecte une règle stricte — zéro allocation, zéro lock, zéro I/O — prouvée par un test automatisé. Segue sans trou entre morceaux, envoi de program changes MIDI sur une timeline d'édition, apprentissage de la pédale, boucle de scène avec décompte de sortie, et un protocole LINK maison : toutes les machines du groupe se découvrent en UDP sur le réseau et restent en phase, sans maître, l'ordre des événements tranché par une horloge de Lamport. Synchronisation des sets vers S3/MinIO par delta sha256, mises à jour auto-hébergées et publication automatique via GitHub Actions.
Plateforme métier en production, conçue et développée de bout en bout.
Conception produit, architecture, développement et exploitation d'une plateforme applicative complète accompagnée de son site vitrine. Un projet mené du cadrage initial à la mise en production et au suivi en conditions réelles.
Civic tech : suivre les lois françaises et les votes des parlementaires.
Agrégation des données ouvertes de Légifrance (API PISTE) et des archives de l'Assemblée nationale pour reconstituer le parcours de chaque texte et le vote de chaque scrutin. Architecture assumée : PostgreSQL ne stocke que le brut tel que la source l'a renvoyé, tout le dérivé est recalculé au démarrage et mis en cache dans Redis — une règle corrigée s'applique instantanément à tout le mandat. L'API sert la fiche complète avec la liste, sans chargement à la demande, la compression nginx payant le surcoût.
La plateforme de gestion complète d'un groupe de musique.
Centralise tout ce qui fait tourner un projet artistique : coordination de l'équipe et des musiciens, discographie, logistique des dates, fiches techniques générées en PDF et administratif. Angular en composants standalone avec Signals et Resources, Supabase pour l'authentification par OTP, la base et le stockage.
Site officiel d'un groupe de metal alternatif lyonnais.
Site conçu sans framework ni build : HTML, CSS et composants maison, pour un
chargement instantané et zéro dette de dépendances. Discographie, dates de
tournée, clips, blog et contact, avec un travail soigné sur le SEO —
sitemap, données structurées et fichier llms.txt pour être
correctement lu par les moteurs de réponse.
Application mobile de suivi de concerts, iOS et Android.
Web app React embarquée en application native via Capacitor : une seule base de code, deux stores. Navigation animée, back-end Supabase, et le pipeline complet de build vers les projets Xcode et Android Studio.
GPS vélo Android : navigation temps réel, hors-ligne, capteur cardio.
Application Android native pour le cyclisme : navigation en temps réel, enregistrement des sorties sans connexion et prise en charge des ceintures cardio Bluetooth. Build et distribution automatisés par GitHub Actions.
Télécommande de console de mixage numérique, en OSC brut.
Pilotage d'une table de mixage Behringer XR18 depuis un téléphone : implémentation du protocole OSC sur UDP directement en React Native, sans passer par une passerelle. Faders, mutes et scènes, avec un état applicatif tenu par Zustand.
Le GPS qui raconte les rues que vous traversez.
Application mobile qui suit la position en tâche de fond et énonce à voix haute des informations sur les rues parcourues. Géolocalisation continue, cartographie et synthèse vocale, sur iOS et Android depuis une base React Native unique.
Rétro-ingénierie d'un protocole Bluetooth propriétaire.
Remplacement de l'application constructeur d'une balance connectée du commerce : connexion Bluetooth LE directe, décodage des trames de mesure (poids, masse grasse, eau, muscle), historique local et mode debug affichant les données brutes pour ajuster le parsing d'un modèle à l'autre.
L'outil des guides touristiques.
Application web destinée aux guides touristiques : préparation et conduite des visites, gestion des contenus et des groupes. Livrée en environnement Docker complet — reverse proxy Traefik avec certificats TLS, service CDN dédié pour les médias, et configurations distinctes entre développement et production.
E-commerce artisanal, sans framework.
Boutique en ligne construite en TypeScript et Vite sans framework d'interface : catalogue, fiches produits et parcours d'achat écrits à la main, avec suivi analytique via Google Tag Manager.
Éditeur de pixel art dans le navigateur.
Outil de dessin pixel par pixel : grille, calques, palette et export, écrit en React 19 sur Vite. Un projet de manipulation fine du canvas et de gestion d'état d'édition — annuler / refaire compris.
Utilitaire de conversion MIDI pour le live.
Petit outil qui traduit des notes MIDI en messages de changement de programme, pour piloter un multi-effets ou un ampli depuis un contrôleur qui n'envoie que des notes. Public sur GitHub.
Décompresser proprement une archive faite sur macOS.
Utilitaire qui règle une irritation quotidienne : les archives ZIP créées
sous macOS et leurs fichiers parasites (__MACOSX, encodage des
noms) sur une machine Windows. Public sur GitHub.
D'autres projets — clients, expérimentations et outils internes — ne sont pas listés ici. Demandez-moi.
04 — Stack
05 — Contact
Freelance, mission longue ou simple avis technique — tout type de projet m'intéresse. Écrivez-moi, je réponds.