On parle, l'IA répond à voix haute. Pas d'écran à toucher en plein milieu d'une recette.
IA · Voix · Mobile · 11/11
ChefMate
le projet « cuisineur »
Un chef culinaire IA conversationnel, 100% vocal et mains libres : il génère, adapte et guide vos recettes en temps réel, en cuisine, sans toucher l'écran.
Comment ça est né
ChefMate — que j'appelle « cuisineur » — est né d'un besoin très concret : cuisiner, c'est les mains pleines de farine, de sucre, de gras. On ne peut pas toucher un écran. L'idée : un assistant culinaire qu'on utilise à la voix, entièrement mains libres, qui génère une recette, s'adapte quand on change d'avis, et guide en temps réel.
C'est aussi une exploration technique de la voix temps réel : deux modes vocaux, dont un Gemini Live en WebSocket qui descend à ~100 ms. Le défi n'est pas seulement de faire une app de recettes, c'est de faire que la voix soit aussi fluide qu'un échange humain, en pleine cuisine.
Le contexte
On lui parle, il génère une recette ; on lui dit « plus d'eau » et il adapte ; on lui demande « étape suivante » et il la lit à voix haute. Mains libres, en direct. C'est un chef conversationnel, pas un livre de recettes qu'on consulte.
Le projet est hybride : une app web en React 19 et une app Android via Capacitor 8, sur une seule base de code. Le cœur, c'est la voix. Il y a deux modes : un mode « legacy » qui enchaîne reconnaissance vocale (Vosk), l'API et la synthèse (Edge TTS) — 20 à 40 secondes — et un mode Gemini Live en WebSocket temps réel qui descend à environ 100 millisecondes.
Le défi, c'est de rendre les deux modes indiscernables pour l'utilisateur : même flow de recette, mêmes commandes (suivant, précédent, timer, modifier), même retour audio. Seule la latence diffère. C'est cette exigence qui a structuré toute l'architecture : le mode et la latence sont isolés derrière un router, pour que le reste du code soit agnostique.
Le code des services dépasse les 8 000 lignes, organisé en six services voix (gestion Gemini Live, router de modes, orchestration TTS/STT, synthèse), plus un plugin de capture audio PCM 16 kHz fait maison pour la précision. Autour, il y a les timers, les favoris, le mode marché (recettes selon les produits de saison) et l'export.
Le point dur
Le point dur, c'est l'indiscernabilité : le mode legacy (20-40 s) et le mode Gemini Live (~100 ms) doivent se comporter exactement pareil, même flow, mêmes commandes, même retour. Si l'utilisateur sent la différence, l'expérience est cassée. J'ai dû isoler la différence de latence derrière un router de modes, pour que le reste du système soit agnostique — et que les deux modes partagent le même flow de recette.
Le deuxième point dur, c'est la précision de la capture : en cuisine, il y a du bruit, et la reconnaissance dépend de la qualité du signal. J'ai fait un plugin de capture audio PCM 16 kHz maison, parce que la capture par défaut n'était pas assez précise. C'est un détail technique qui change toute la fiabilité de la voix.
Fonctionnalités
Legacy (Vosk → Gemini → Edge TTS) et Gemini Live (WebSocket temps réel), avec l'objectif qu'ils se ressemblent à l'usage.
On avance dans la recette, on revient, on lance un timer, on change une quantité — tout par la voix.
Un mode « marché » qui propose des recettes selon les produits de saison disponibles.
Gestion Gemini Live, router de modes, orchestration TTS/STT, synthèse — plus un plugin de capture PCM 16 kHz maison.
Une seule base de code, servie en web et packagée en APK, avec timers, favoris et export.
Arbitrages techniques
Stack technique
En chiffres
Parcours du projet
-
Base
App web + Android, génération de recettes en vocal, commandes de base, micro natif.
-
Deux modes vocaux
Legacy (Vosk → Gemini → Edge TTS) puis Gemini Live WebSocket temps réel (~100 ms).
-
Alignement
Rendre les deux modes indiscernables à l'usage : même flow, mêmes commandes, même retour audio.
-
Précision
Plugin de capture PCM 16 kHz maison, timers, mode marché, favoris, export.
-
Services
6 services voix, 8 214 lignes, router de modes — une architecture complète.
Ce que ça a rendu
-
01
La voix en cuisine
Un chef conversationnel 100% mains libres, qui s'adapte en direct — pas un écran à toucher.
-
02
Deux modes, un usage
Legacy et Gemini Live indiscernables à l'usage ; seule la latence diffère.
-
03
Précision technique
Un plugin PCM 16 kHz maison et un router de modes — la voix est fiable en conditions réelles.