Lire l’intrigue au-delà des mots.
Client
NARRIA
Year
2026
NARR’IA est une plateforme de narratologie computationnelle conçue à partir des travaux d’Adéchinan David Adékambi. Elle détecte les ressemblances profondes entre deux récits, même lorsque leurs mots, leurs personnages ou leur contexte diffèrent. Mon rôle a été de transformer ce moteur scientifique en un véritable SaaS : j’ai repris l’outil Python/Flask d’origine, défini l’architecture de la version 2 et réécrit le produit en Next.js et TypeScript. L’application réunit aujourd’hui dépôt de textes, analyse assistée par IA, comparaison structurelle, score SNS explicable, rapports exportables et travail collaboratif. Le défi consistait à rendre une méthodologie complexe accessible sans diminuer sa rigueur.
Scope of Work


Une expertise scientifique transformée en produit utilisable.
Le point de départ était un outil Flask concentré dans un important fichier applicatif. J’ai commencé par cartographier ses cinq modules métier — segmentation, extraction, comparaison, stockage et reporting — puis je les ai portés en TypeScript sous forme d’unités isolées. La logique scientifique reste dans une couche dédiée, séparée de l’interface React et des routes API. Cette structure m’a permis de simplifier le parcours utilisateur sans mélanger présentation et calcul narratologique.

Un score de similarité qui ne se contente pas d’un verdict.
Le score SNS synthétise plusieurs mesures structurelles — isomorphisme du graphe, fonctions partagées, distance d’édition, schéma actantiel et tension dramatique. J’ai porté ce moteur avec un harnais de non-régression : les résultats de la version TypeScript sont comparés à des sorties de référence et couverts par des tests Vitest sur la réflexivité, le pouvoir discriminant, l’appariement optimal et les cas d’inclusion. L’interface expose ensuite la contribution de chaque mesure afin que le résultat puisse être expliqué et vérifié.


Deux œuvres comparées fonction par fonction.
La comparaison met en regard les séquences narratives des deux textes et rend visibles leurs correspondances. Côté code, le pipeline segmente les œuvres, extrait les fonctions et actants, puis calcule les différentes composantes du SNS. J’ai également ajouté une extraction par Claude, validée par des schémas Zod, et un mode conversationnel streamé avec le Vercel AI SDK. L’agent peut analyser, comparer ou interroger le répertoire de 53 fonctions à partir d’une demande en langage naturel.

Des rapports prêts à être partagés.
Chaque analyse peut être exportée en PDF, HTML, Markdown, texte ou JSON. J’ai développé une couche de reporting distincte qui génère les tableaux, les schémas actantiels SVG et les mises en page. En production, la génération PDF utilise une version serverless de Chromium. J’ai également travaillé sur l’extraction des fichiers TXT, DOCX, PDF, ODT et EPUB afin que l’utilisateur puisse analyser directement un manuscrit plutôt que préparer manuellement son contenu.

Un espace commun pour les corpus et les équipes.
Les projets collaboratifs réunissent textes, analyses, comparaisons, conversations et exports dans un même dossier. Je les ai construits progressivement : modèles MongoDB, invitations par email, rôles, permissions, rattachement des outils au projet et accès partagé aux rapports. Plusieurs protections ont été ajoutées pendant les tests — déduplication des invitations, prévention du double-clic, gestion des courses réseau et vérification systématique des droits.
Voir d'autres projets :
Awwwards Young Jury
Membre du jury











