Homebase
Notre propre Todoist, construit à partir des tests, avec un modèle d’IA local qui code les écrans.
- Rôle
- Produit, architecture et chaîne de développement assistée par IA
- Technologies
- Kotlin · Ktor · PostgreSQL · React · TypeScript · Tailwind
- Statut
- Utilisé tous les jours à la maison
La vraie application, avec des données fictives et des noms remplacés.




Le problème
Notre famille fonctionnait avec une application de tâches commerciale. Elle ne pouvait pas alimenter l’écran mural de la cuisine, ne connaissait ni les repas ni les médicaments, et gardait nos listes sur le serveur de quelqu’un d’autre.
Je voulais un seul endroit pour les tâches, l’épicerie, les corvées, le menu de la semaine et les médicaments, partagé par la famille et affiché au mur, et une façon de le construire vite sans sacrifier la qualité.
Ce que j’ai construit
Comment ça fonctionne
L’application elle-même est un système classique à trois niveaux. Ce qui sort de l’ordinaire, c’est la façon dont les écrans sont construits : chacun est une petite étape dont le test est écrit d’abord, et un modèle d’IA local écrit le code jusqu’à ce que ce test passe.
L’application
- Interface de style Material
- Mises à jour en direct
- Foyers, listes, tâches
- Repas et médicaments
- API compatible Todoist
- Sauvegardes quotidiennes, gardées 14 jours
Comment chaque écran est construit
- Validé d’abord contre une implémentation jetable
- Écrit l’écran
- Ne peut pas modifier le test
- Réussi ou échoué, rien entre les deux
- Je regarde, je marque terminé
Décisions clés
- Le test est la spécificationChaque étape arrive avec son test, validé contre une implémentation fonctionnelle avant d’être confié au modèle. Le modèle ne peut jamais modifier le test : une étape réussie veut dire que l’écran fait vraiment ce qui était demandé.
- Chaque erreur devient une règleChaque nouveau type d’erreur du modèle devient une ligne dans le fichier de conventions, pour qu’il ne la refasse pas.
- Compatible dès le premier jourParler l’API de Todoist a permis de garder importations, scripts et habitudes, plutôt que de demander à la famille de tout recommencer.
- Chaque écran mural a sa cléChaque écran mural s’authentifie avec sa propre clé sur une API murale distincte, et non avec le compte d’un membre de la famille.
- Simple à exploiterUn seul fichier Docker Compose sur un serveur maison, une vérification d’état et des sauvegardes quotidiennes gardées deux semaines, avec une procédure de restauration écrite.
Où en est le projet
Aujourd’hui
Utilisé tous les jours à la maison sur les téléphones, les portables et au mur. Le serveur compte 66 tests répartis dans 14 fichiers.
Ensuite
D’autres modules muraux et les écrans restants, une étape testée à la fois.