Aller au contenu

En production

Recense — l'inventaire de son logement en vidéo, prêt pour l'assureur

On filme ses pièces, l'IA liste et valorise les objets, Recense range les preuves et produit l'état de pertes et le dossier de preuves le jour d'un sinistre.

Nature
Produit en ligne
Statut
En production
Stack
App iOSAndroidExpoReact NativeNestJSNext.js 16PostgreSQLClaude (Anthropic)Stripe
Voir le site en ligne(nouvel onglet)

Après un dégât des eaux ou un cambriolage, l'assureur demande la liste des biens avec leurs justificatifs, au moment où l'on a le moins envie de la faire. Recense la prépare avant : on filme chaque pièce, l'IA repère les objets et propose une valeur, et l'utilisateur range factures et photos. Le jour du sinistre, le dossier est prêt à envoyer.

Ce que fait l'app

  • Capture guidée pièce par pièce, images-clés extraites sur le téléphone, envoi en arrière-plan qui reprend après une coupure.
  • Chaque objet porte un statut de preuve : détecté par l'IA, estimé, ou prouvé par un justificatif. Rien n'entre dans un export sans confirmation humaine.
  • Relecture en tête des objets à faible confiance : confirmer, corriger, fusionner, rejeter. Toute valeur non prouvée affiche « ≈ » et sa source.
  • Assistant de sinistre : type, dates, délai de déclaration calculé avec sa base légale, objets touchés et pièces à fournir.
  • Exports : état de pertes en PDF et XLSX, dossier de preuves en ZIP, inventaire complet. Plusieurs logements, outils gratuits sans compte sur le web.

Stack et architecture

  • Monorepo pnpm et Turborepo : app Expo SDK 57 (React Native 0.86, Reanimated, FlashList), site, espace connecté et back-office en Next.js 16.
  • API NestJS 11, Prisma sur PostgreSQL 16, Redis et BullMQ ; quatre processus issus d'une même image (API, worker, traitement média, IA), upload tus et progression en SSE.
  • Vision par Claude sur des images-clés dont les visages sont floutés et les métadonnées retirées ; sortie structurée validée par zod puis bornée ; quotas et plafond journalier de coût IA.
  • Chiffrement applicatif en enveloppe (clé maîtresse, clé par utilisateur, clé par objet) : aucun octet en clair au repos, et la suppression d'un compte détruit sa clé.
  • Chaque média reçoit une empreinte SHA-256 et un reçu signé en Ed25519, vérifiables publiquement dans le navigateur. Abonnement payé sur le web avec Stripe.

Ce qui a été difficile

Envoyer une vidéo de plusieurs dizaines de mégaoctets depuis un iPhone sans demander à l'utilisateur de garder l'app ouverte. Un banc d'essai a montré qu'un envoi découpé en morceaux pilotés par le JavaScript s'arrête une dizaine de secondes après le passage en arrière-plan. La solution retenue confie tout le reste du fichier à une seule tâche système iOS : elle se termine même si l'app est tuée. Au lancement suivant, l'app demande au serveur où il en est et ne renvoie que ce qui manque. Les fichiers reçus sont identiques octet pour octet à la source, y compris après une coupure du serveur.

État du projet

Le site web et l'espace connecté sont en ligne. Les apps iOS et Android sont construites et leur dossier de soumission est préparé, mais elles ne sont pas encore publiées sur les stores.

Captures réalisées sur un logement de démonstration aux données fictives.