- Nature
- Web app
- Stack
- Next.js 15React 19NestJSGraphQLPrismaPostgreSQLClaude (Anthropic)Turborepo
Entre le 20 du mois et la paie, la question n'est pas « combien j'ai » mais « comment répartir ce qu'il reste ». AntiGalère transforme un budget restant en plan concret, et le recalcule quand la semaine ne se passe pas comme prévu.
Ce que fait l'app
- Génération d'un plan jusqu'à la prochaine paie : budget par jour, enveloppes courses, sortie et imprévu, selon des objectifs (économique, étudiant, famille, végétarien…).
- Recalcul après une dépense imprévue, un écart au restaurant ou une paie retardée.
- Recherche de prix autour d'une ville (géocodage IGN), à partir de relevés Open Prices : produit, quantité, magasin, date et lien vers la source restent affichés.
- Quota freemium (un plan par semaine en gratuit), paiement Stripe, backoffice d'administration et blog.
Stack et architecture
- Monorepo pnpm et Turborepo : Next.js 15 (App Router), React 19, TypeScript strict, Tailwind et shadcn/ui.
- API NestJS en GraphQL code-first, architecture en couches (domaine, application, infrastructure, présentation), Prisma sur PostgreSQL, Redis et BullMQ pour les jobs.
- Authentification par cookies HttpOnly, rotation des refresh tokens, argon2id, verrouillage progressif ; limites de profondeur et de complexité GraphQL.
- Le moteur budgétaire est un paquet TypeScript pur, testé avec Vitest ; des tests Playwright couvrent l'écran des prix.
Ce qui a été difficile
Les prix. La première version s'appuyait sur des scrapers d'enseignes et des données de secours : le rendu était convaincant, mais rien ne prouvait qu'un prix existe dans un magasin donné. Lors d'un audit de reprise, ces sources ont été retirées, ainsi que les menus au coût codé en dur et le faux adaptateur IA. Le moteur n'utilise plus que des relevés Open Prices filtrés : rayon de 10 km, moins de 30 jours, en euros, avec preuve et conditionnement exploitable. Aucune médiane ne mélange des conditionnements différents, et une absence de résultat reste visible comme telle. Le principe est que l'IA ne fait que reformuler : le calcul est déterministe côté serveur et mis en cache par hash d'entrée.
État du projet
En développement, pas encore en production : domaine, hébergement, sauvegardes et parcours authentifiés complets restent à vérifier. Open Prices est contributif et ne garantit ni le stock ni la couverture des enseignes ; les menus sont suspendus tant que les recettes ne sont pas reliées à une source vérifiable. Pas d'application iOS : c'est une application web.


