← Toutes les études de cas
Full-stack · auto-hébergé

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
Écrans

La vraie application, avec des données fictives et des noms remplacés.

Vue Aujourd’hui de Homebase sur ordinateur avec les tâches en retard, du jour et faites, des filtres par personne, le souper et les tâches par liste
Aujourd’hui sur ordinateur : compteurs, filtres, souper.
Vue Aujourd’hui de Homebase sur téléphone avec une barre d’onglets et un bouton de nouvelle tâche
La même vue sur téléphone.
Un projet de rénovation de cuisine avec des sections Planifier, Acheter et Faire, des sous-tâches, des étiquettes et des responsables
Un projet avec sections et sous-tâches.
Écran des médicaments avec une alerte de stock bas et les doses du matin, du coucher et au besoin
Médicaments : doses selon le moment, alerte de stock.
01

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é.

02

Ce que j’ai construit

Un vrai gestionnaire de tâchesListes dans des dossiers, sections, étiquettes, filtres enregistrés, sous-tâches, répétitions, rappels, commentaires, Aujourd’hui, À venir, Boîte de réception, recherche et mises à jour en direct.
Un remplaçant de TodoistUne importation depuis Todoist et une API compatible Todoist : nos listes et nos habitudes ont suivi au lieu de repartir de zéro.
Repas et médicamentsUne banque de recettes et un menu de la semaine, l’inventaire du congélateur, l’épicerie générée à partir du menu, et les doses de médicaments avec historique, renouvellements et alertes.
Sur le mur de la cuisineDes modules pour l’écran mural Home Screens affichent les tâches, les repas et les doses de médicaments, par une API murale distincte.
03

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

Téléphones et portablesReact 19 · TypeScript · Tailwind
  • Interface de style Material
  • Mises à jour en direct
API KtorKotlin · Exposed
  • Foyers, listes, tâches
  • Repas et médicaments
  • API compatible Todoist
PostgreSQLDocker sur un serveur maison
  • Sauvegardes quotidiennes, gardées 14 jours

Comment chaque écran est construit

Étape + testla spécification
  • Validé d’abord contre une implémentation jetable
Modèle localAider + qwen3-coder
  • Écrit l’écran
  • Ne peut pas modifier le test
check.shtypes + tous les tests
  • Réussi ou échoué, rien entre les deux
Revuemoi
  • Je regarde, je marque terminé
04

Décisions clés

  1. 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é.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
05

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.

KotlinKtor 3ExposedPostgreSQLReact 19TypeScriptTailwind 4ViteVitestDockerAiderLLM local

Un projet que des gens utiliseront tous les jours?

Je présenterai volontiers n’importe lequel de ces projets plus en détail, y compris les projets privés.