Mes projets personnels
Visionnage synchronisé, jeu de rôle narratif, développement depuis un téléphone : voici les usages, les choix techniques et l’état de chaque projet.
Visionnage synchronisé, jeu de rôle narratif, développement depuis un téléphone : voici les usages, les choix techniques et l’état de chaque projet.
Avec un agent conversationnel, je définis le besoin, les contraintes et les critères d’acceptation. Je transmets aux agents les spécifications, le contexte et les accès aux outils de développement et de test.
Codex et Claude Code implémentent les tâches avec les instructions, rôles et skills que j’ai préparés. Je garde les arbitrages et les revues.
Les agents manipulent réellement l’application, dans le navigateur, sur appareil ou via la CLI selon le projet. Ils observent les résultats, diagnostiquent les écarts et retestent après correction.
Je teste personnellement l’application, vérifie les critères d’acceptation et donne la validation finale.
Développement et tests se répètent jusqu’à validation des critères définis au cadrage.
Regarder plusieurs streams ensemble, jouer avec une IA maître de jeu ou développer depuis un téléphone : mes projets partent de ces besoins.
7 projets3 en productionprojets personnels
Outils de développement :Claude CodeCodexCursor
Technologies utilisées dans mes projets, regroupées par domaine.
Plusieurs points de vue YouTube, Twitch et Kick synchronisés dans une même régie. Le web est public ; l’app Android est testée sur appareil et partage le cœur Rust/WASM.
Ouvrez l’application web pour créer une session partageable et comparer les points de vue YouTube, Twitch et Kick.
Modifier le code selon la tâche et les critères définis.
Piloter le parcours via MCP/CDP sur un build identifié.
Consulter les logs ADB si le diagnostic l’exige.
Traiter la cause identifiée et revoir le correctif.
Répéter les contrôles adaptés au scénario.
Le rendu vidéo natif se vérifie séparément du DOM, avec des captures et les mesures SyncBench adaptées au scénario.
Mon rôle Je prépare le workflow sur téléphone, les instructions et skills, les scénarios et les critères ; je revois les correctifs et les outils de test avant de qualifier la version.
MultiPOV rassemble plusieurs points de vue YouTube, Twitch et Kick pour les sessions Discord et les événements. En VOD, la synchronisation audio mesure les décalages ; une horloge et des offsets maintiennent ensuite l’alignement. Le web est en production sur watchmultipov.app (Solid, TypeScript, Vite, PWA et hls.js). Le moteur Rust commun est exposé en WASM sur le web et compilé en natif dans l’app Android Tauri 2. Celle-ci embarque la régie web, des lecteurs Media3/ExoPlayer et une synchronisation live instrumentée pour les tests sur appareil.
Une IA mène la partie ; le moteur résout les règles et contrôle les changements d’état. Les joueurs créent et partagent leurs univers.
Explorez le jeu narratif : l’IA mène la partie et le moteur contrôle les règles et l’état du jeu.
Traiter le cœur complexe avant l’interface.
Manipuler le jeu via la CLI partagée.
En audit, comparer état du jeu, échanges LLM bruts et anti-drift.
Modifier le moteur ou les outils selon le diagnostic.
Rejouer le scénario et contrôler les régressions.
La CLI partage le moteur du web ; le replay relit une trace sans nouvel appel LLM. Les échanges bruts sont capturés dans les parcours d’audit instrumentés.
Mon rôle Je définis les règles et l’ordre de développement, rends le moteur accessible aux agents et prépare le contexte ; je revois les diagnostics, les traces et les critères de test.
Plateforme web de TTRPG textuel multijoueur où une IA générative incarne le maître de jeu. Système de jeu original (2d6+stat, GM Moves, Trait Cards, Vœux & Horloges, 5 modes de pacing) sécurisé par une « drift gate » de 19 invariants qui valide chaque sortie du LLM avant application de l'état. Pensée pour Claude (Anthropic) en première intention, l'application reste utilisable avec Gemini, OpenAI ou un modèle local (Ollama, llama.cpp, vLLM via API OpenAI-compatible) grâce à une architecture d'adaptateurs. La communauté crée ses propres univers via un wizard 11 étapes en 4 phases (import Fandom, génération assistée par IA, profils vocaux, lore par saison/épisode, traduction) et publie après modération. Backend Python 3.12 / FastAPI + WebSocket, SQLite asynchrone, frontend Vite, pool TTS multi-conteneurs Qwen et tier gratuit avec monnaie virtuelle Flares.
Depuis un téléphone Android, pilotez Claude Code ou Codex sur votre machine Linux distante. Dictez vos prompts ; le Joy-Con contrôle la souris et les raccourcis, sans clavier physique.
Envoyez un message via le formulaire sur nomadrust.dev pour obtenir un accès. Le site présente le fonctionnement Android/Linux, la dictée et les commandes Joy-Con.
Définir le comportement attendu et la tâche du rôle concerné.
Confier la partie Rust, Flutter ou patches à Claude Code.
Exécuter les tests adaptés ; tests Rust et Clippy côté Rust.
Traiter les écarts, puis relancer les contrôles.
Vérifier la cohérence du parcours Android/Linux.
Claude Code intervient sur les adaptations Rust, Flutter, patches et distribution autour du socle RustDesk.
Mon rôle Je définis le parcours Android/Linux, prépare le contexte de chaque rôle et arbitre les adaptations à RustDesk ; je vérifie l’intégration et les comportements attendus à partir de mon usage.
Nomad permet de développer depuis un téléphone Android connecté à un poste Linux via RustDesk. Le téléphone affiche le bureau distant et sert à la dictée ; un Joy-Con Nintendo Switch, tenu dans l’autre main, contrôle la souris et les raccourcis avec des profils configurables pour Claude Code, OpenCode ou Codex. Un daemon Linux orchestre écran, audio et transcription à la connexion du client mobile. Le projet comprend un fork RustDesk adapté (gamepad, voice call, identité visuelle), un serveur de licence Axum + SQLite + Ed25519 avec grâces hors-ligne et d’expiration, et le site bilingue nomadrust.dev. L’accès se fait sur demande via le formulaire du site.
Un site FR/EN pré-rendu avec Angular, un CV PDF généré depuis les données du portfolio et un fond astronomique animé.
Comparez l’image source avec le fond animé et ses effets.
Portfolio FR/EN développé avec Angular 21 et pré-rendu en HTML statique. Il combine routes canoniques par langue, métadonnées SEO et partage social, mise en page responsive Tailwind CSS 4 et génération de CV PDF. Le fond astronomique est sélectionné quotidiennement ; son animation en couches dispose d’un rendu statique selon les capacités et les préférences de l’appareil.
Transformer des heures de podcast en données structurées et cherchables, avec un budget d'API maîtrisé.
Ouvrez la démo pour rechercher dans les transcriptions et les métadonnées extraites des podcasts.
L’analyseur transcrit les podcasts avec Whisper, puis extrait avec ChatGPT des invités, sujets et passages horodatés. La recherche se fait dans une interface React. Le traitement demande environ 2 h par heure d’audio. Ce projet personnel a traité 20 % du catalogue Floodcast et 10 % de celui de TFTC.
Automatiser une régie de stream en temps réel : la vidéo déclenche elle-même les changements de scène OBS.
Application d’automatisation pour mes streams Call of Duty sur TikTok. Des patterns visuels détectés dans les flux NDI déclenchent des actions OBS Studio, avec une latence d’environ 100 ms. L’interface PySide6 configure les zones de détection ; OpenCV traite les images avec accélération GPU CUDA.
En faisant jouer un LLM à Minecraft pour le plaisir, j'ai compris comment lui donner des règles et le bon contexte — la base que j'ai reprise dans Aidventures et dans ma façon de développer avec Claude Code.
Bot Minecraft autonome piloté par un LLM via le Model Context Protocol (MCP). Architecture « atomique » volontairement stricte : le bot Mineflayer n'est qu'un bras exécuteur (actions unitaires, aucune décision), tandis que le LLM raisonne sur des données brutes remontées par des senseurs (blocs découverts, dangers, inventaire, niveaux Y) pour décider quoi miner, construire ou fuir. Trois serveurs MCP séparent les actions, la connaissance Minecraft (recettes, Y-levels, outils) et une mémoire spatiale persistante en SQLite. Projet d'apprentissage qui m'a fait comprendre, par le jeu, comment formuler des règles explicites et fournir le bon contexte à un LLM — une compétence directement réinvestie dans la drift gate d'Aidventures et dans ma manière de cadrer le développement assisté par Claude Code.