Un SaaS qui transforme des données financières brutes en rapports lisibles, structurés et prêts à être partagés. Automatiser un processus long, répétitif et source d’erreurs.
- Rôle
- Fondateur & développeur front-end
- Période
- 2024 — présent
- Next.js
- TypeScript
- Tailwind
- Docker
- GitHub Actions
Aperçus

La page d’accueil, et l’aperçu d’un rapport. Le produit montre son livrable avant de le décrire : position, valeur centrale, potentiel, et les trois méthodes qui y mènent. 
L’information du moment, en tête du tableau de bord. Ici une décision de taux de la Fed, au-dessus des générations en cours — statut, type d’actif, type de rapport, coût en crédits. 
L’actualité des sociétés suivies. Rapports trimestriels et annonces de financement tirés des dépôts SEC, juste sous la liste des générations, qui n’a plus de page à elle. 
Deux pages d’un rapport généré. Le résumé exécutif, puis l’analyse fondamentale : multiples face à la médiane des pairs, rentabilité, structure financière.
Un SaaS qui produit des rapports d’analyse financière à partir de données de marché réelles : on choisit un actif — action, ETF ou indice — et un type d’analyse, et le rapport sort en PDF.
Ce que le produit remplace, c’est une journée de travail : extraire les données, appliquer les méthodes de valorisation, mettre en page, vérifier. Chacune de ces étapes est répétitive, et chacune est une occasion d’introduire une erreur que personne ne verra avant le client.
L’unité de facturation est le crédit, et son coût s’affiche avant de lancer la génération. L’historique garde ensuite chaque rapport avec son coût, son statut et ses horodatages : le travail reste reproductible, et surtout auditable.
Contexte
Créer des rapports financiers complets est un processus lent, manuel et fragile. Entre l’extraction des données, les calculs, l’uniformisation des mises en page et les vérifications, chaque livraison peut prendre des heures — voire des jours. Et chaque étape manuelle est une occasion d’introduire une erreur que personne ne verra avant le client.
L’objectif : centraliser les données, automatiser leur traitement et produire des rapports professionnels de manière fiable et reproductible. Réduire le travail répétitif pour laisser l’utilisateur sur l’analyse et la décision, pas sur la mise en forme.
Fonctionnalités
- Import de données hétérogènes : exports comptables, bilans, journaux, feuilles Excel, normalisés en une base structurée.
- Génération automatique de rapports : mises en page cohérentes, graphiques, tableaux comparatifs et synthèses.
- Templates adaptables : tonalité, style visuel et structure ajustables aux usages internes de chaque entreprise.
- Suivi des versions et piste d’audit : chaque rapport documenté, horodaté, reproductible à l’identique.
- Interface pensée pour être lisible et rapide, sans surcharge visuelle.
Approche front-end
L’interface est construite en atomic design, ce qui donne trois choses concrètes : une cohérence sur toutes les pages, une facilité d’évolution — ajouter une vue, un tableau, un type de graphique ne demande pas de réécrire l’existant — et des composants réellement accessibles au clavier, avec des contrastes tenus et une structure sémantique correcte.
Le fil conducteur est de minimiser le bruit visuel : laisser la donnée respirer, supprimer tout décoratif, guider l’attention vers les indicateurs qui portent la décision. Sur un produit financier, la sobriété n’est pas un parti pris esthétique — c’est ce qui évite de faire lire le mauvais chiffre.
Défis
- Normalisation des sources : les formats financiers ne sont jamais vraiment standards, et deux exports du même logiciel peuvent différer.
- Performance : la génération de rapports lourds a imposé d’optimiser le pipeline et d’introduire des pré-calculs.
- UX pour profils non techniques : simplifier l’interface sans masquer la complexité réelle des calculs, pour que l’utilisateur garde confiance dans ce qu’il signe.
Ce projet a confirmé une conviction que j’applique depuis à tout le reste : simplifier n’est pas enlever, c’est réduire l’interface à ce qui porte la décision.
Ce que contient un rapport
Un rapport détaillé fait dix-huit pages et suit toujours la même ossature numérotée. C’est ce qui permet d’en comparer deux sans avoir à réapprendre la structure à chaque fois. Il ouvre sur un résumé exécutif — position, cours actuel, valeur centrale, potentiel — puis déroule les constats structurants avant d’entrer dans le détail des méthodes.
- La valorisation par trois approches indépendantes : flux de trésorerie actualisés, comparables sectoriels, consensus d’analystes. Chacune donne une fourchette et une valeur centrale.
- L’écart entre les trois est traité comme une information, pas comme un défaut : quand elles ne convergent pas, le rapport le dit et pointe l’hypothèse sur laquelle elles divergent.
- Une grille de sensibilité — croissance projetée contre coût du capital — qui mesure la fragilité d’une valorisation au lieu d’afficher un chiffre unique et net.
- Le positionnement face à l’indice de référence sur trois horizons, et les repères du titre : capitalisation, secteur, multiple de résultat.
Cinq types de rapport, trois langues. La mise en page est calculée à partir des données plutôt que remplie à la main : deux rapports du même type sont strictement comparables, y compris entre deux analystes.
L’actualité, au même endroit
Le tableau de bord s’ouvre sur l’information majeure du moment — une décision de taux d’une banque centrale, une acquisition qui redistribue un secteur — puis sur l’actualité des sociétés que l’utilisateur suit : rapports trimestriels et annonces de financement, tirés des dépôts publiés auprès de la SEC.
Un rapport répond à une question posée à un instant donné. L’actualité dit quand la reposer : un résultat trimestriel ou une levée de fonds rendent une valorisation caduque, et c’est au même endroit qu’on relance l’analyse.
Le crédit comme unité
La facturation passe par des crédits, et le coût d’un rapport s’affiche avant de le lancer. C’est un détail d’interface qui règle un problème de confiance : sur un produit qui génère à la demande, ne pas savoir ce qu’on va payer suffit à ne pas cliquer.
La liste des générations conserve tout — l’actif, le type d’analyse, le statut, le coût, l’heure de lancement et l’heure de fin — et se filtre par chacun de ces axes. Elle n’a plus de page à part : elle vit dans le tableau de bord, sous l’actualité. Un rapport livré reste consultable et téléchargeable à l’identique : rien n’est régénéré à la volée, donc rien ne peut changer entre deux consultations.
Résultats
- Jusqu’à 70 % de temps gagné sur la préparation des rapports chez les utilisateurs pilotes.
- Moins d’erreurs humaines, et surtout des erreurs traçables lorsqu’elles surviennent.
- Plus de cohérence entre les livrables, y compris entre personnes différentes.
- Un workflow front-end propre et durable autour de l’atomic design, du clean code et de l’accessibilité.
Stack
- Next.js et React pour la structure applicative et l’interface.
- TypeScript pour la robustesse et la maintenabilité sur la durée.
- Tailwind et atomic design pour une hiérarchie visuelle cohérente.
- Docker pour un environnement reproductible, GitHub Actions pour le déploiement continu.
Autres projets
Atlas — Un monde entier, engendré par sa géologie
Un générateur procédural de mondes : tectonique, relief, érosion, climat, fleuves et biomes, puis villes, pays, cultures, religions et routes commerciales. Chaque graine produit une planète différente et reproductible, rendue comme un atlas peint.
Lire le cas d’étudePlum — L’assistant mémoire qui rassure
Une application mobile double-interface conçue pour l’autonomie des personnes ayant des troubles de la mémoire, sécurisée par un mode aidant.
Lire le cas d’étudeCorpus Delta — L’annuaire de la recherche climatique
Un annuaire de publications scientifiques sur le climat et les risques naturels : cent une études référencées avec leurs métadonnées d’origine, un glossaire de cinquante et un termes, et des parcours de lecture pour entrer dans la littérature sans s’y perdre.
Lire le cas d’étude