Comment j'ai construit Liberty Life en 48h avec Claude Code
Le 26 avril 2026, je n'avais pas d'app pour gérer mes RDV médicaux, mes démarches administratives et mes anniversaires. Le 28 avril, Liberty Life tournait en production avec auth, IA, notifications push web, intégration Telegram, vue calendrier, OCR, partage public, sauvegarde JSON, et 8 autres features.
Le tout en pair-programming avec Claude Code. Voici comment.
Le contexte
J'avais besoin d'une app simple pour mon usage perso. Les options du marché ne me convenaient pas :
- Notes Apple / Google Keep : trop simple, pas de notifications fines
- Notion / Asana : trop pro, pas pensé pour la vie perso
- TickTick / Todoist : pas de pièces jointes, pas d'IA, pas de partage flexible
Au lieu de faire un choix par défaut, je me suis dit : je vais coder exactement ce dont j'ai besoin. Avec un assistant IA, ça doit pouvoir tenir en un week-end.
La stack choisie en 5 minutes
- Frontend : Next.js 15 + React 19 + TypeScript + Tailwind
- Backend / DB / Storage / Auth : Supabase (gratuit jusqu'à 50k MAU)
- Hosting : Vercel (gratuit pour usage perso)
- IA : Claude Sonnet 4.6 (parsing langage naturel pour quick-add)
- Notifications : Web Push (VAPID) + Telegram Bot (gratuit)
Choix rapides, pas de débat sur "quelle base de données" ou "quel framework". Supabase + Next.js + Vercel, c'est ma stack par défaut depuis 2 ans, ça marche.
Le processus avec Claude Code
Claude Code, c'est l'extension de Claude qui peut lire/écrire des fichiers et exécuter des commandes shell. C'est comme avoir un dev senior à côté qui tape pour moi. Voici comment j'ai structuré la session :
1. Specs orales
J'ai dicté en français les rubriques que je voulais (RDV, Santé, Démarches, Lifestyle…), les fonctionnalités clés (CRUD, fichiers, Telegram), et le concept général. Pas de spec écrite, pas de Figma. Juste une conversation.
2. Claude propose, je critique
Claude a immédiatement proposé un schéma DB Supabase, une arborescence de fichiers Next.js, et un découpage en tasks. J'ai validé, ajusté un peu (ex: le partage public, j'avais pas demandé mais c'est une bonne idée).
3. Build par batches
Pour pas se noyer, on a découpé en batches : auth + DB d'abord, puis CRUD basique, puis features (IA quick-add, push, fichiers, etc.). Chaque batch = 1-2 commits, déployé en prod immédiatement.
4. Le user (moi) reste critique
L'IA n'est pas magique. Sur la mobile sidebar, Claude a fait 3 itérations avant de bien comprendre que le hamburger devait être fixed et pas sticky dans un flex parent. Sur les triggers Postgres, il a fallu lui rappeler le search_path. Sur le mode dark, il a inventé une palette indigo+violet alors que je voulais noir+gold. À chaque fois, je redirigeais.
Ce qui a accéléré (énormément)
- Pas de tests à écrire : c'est de l'app perso, je teste à la main en utilisant l'app. Tests viendront si elle dépasse 100 users.
- Pas de design system : Tailwind + variables CSS suffisent. Pas de Figma, je code direct avec le visuel en tête.
- Pas de comité d'archi : je tranche en 5 secondes, on avance.
- Build → deploy → use immédiat : chaque feature est testée en vrai sur mon téléphone dans la minute qui suit le push.
- Claude écrit le boilerplate : RLS Supabase, formulaires React, API routes — tout ça est répétitif. L'IA est imbattable là-dessus.
Ce qui m'a ralenti
- Le cache du Service Worker iOS : 6 bumps de version SW pour que l'app PWA installée prenne les nouveaux assets. iOS est tenace.
- Les triggers Supabase : 2 sessions de debug parce que le
search_pathne trouvait pasgen_random_bytes. - L'OG image : 30 min à comprendre comment générer un PNG 1200x630 propre depuis un SVG (réponse :
sipssur macOS). - Le Cmd+K modal : 1h pour gérer correctement la fermeture, le focus, la navigation clavier.
Le résultat en chiffres
- ~5000 lignes de TypeScript/React
- 1 schéma Postgres (4 tables, RLS strictes)
- 17 routes API
- 10 pages
- 30+ composants React
- 5 cron jobs Vercel
- Coût mensuel : 0€ (tout en gratuit)
Leçons apprises sur le pair-programming IA
1. Sois précis sur le "pourquoi", pas sur le "comment". Si tu dis "implémente un toast undo", Claude le fait à sa sauce. Si tu dis "quand l'utilisateur supprime un item, je veux pouvoir l'annuler en 5s — un toast avec un bouton", il le fait correctement.
2. Demande des choix, pas des affirmations. "Quelle approche tu recommandes pour X ?" donne souvent un meilleur résultat que "fais X".
3. Lis ce qu'il écrit. J'ai trouvé 2-3 petits bugs en relisant le diff. Pas catastrophique mais le rappel : tu restes responsable du code.
4. Délègue le boilerplate, garde le produit. L'IA est imbattable sur "mappe ce JSON vers ce type", "ajoute ce composant Tailwind", "écris le cron qui fait X". Tu restes maître de "qu'est-ce qui doit exister, pourquoi, comment ça doit se sentir".
Et après ?
Liberty Life tourne maintenant en prod sur life.sampapaya.com. Je l'utilise tous les jours. La prochaine étape, c'est de la maintenir vraiment : retours d'usage réel, ajustements, pas de gros bang.
Ship early, ship often, use what you ship.
Si tu veux essayer, c'est gratuit. Si tu veux voir le code, le projet est en train d'être ouvert sur GitHub.