Aller au contenu
Toutes les réalisations

Étude de cas 01 / 06

FundReachr

Levée de fonds · SaaS

Un SaaS de prospection d’investisseurs par IA, développé et lancé de bout en bout

  • Ingénierie des données
  • Ingénierie logicielle
  • Cloud et infrastructure
fundreachr.com
platform.fundreachr.comDonnées démo
E-mail à un investisseur rédigé par l’IA, dans l’espace campagne de FundReachr

Chiffres clés

Données investisseurs synchronisées dans l’application
Chaque jour
Fiche de référence par investisseur
1
Secteurs dans la taxonomie des investisseurs
43
Langues pour les messages rédigés par l’IA
11

En bref

  • L’enjeu

    Faire d’une idée d’automatisation de la levée de fonds un produit en ligne, en partant de zéro (ni code, ni équipe, ni infrastructure), alors que toute la promesse repose sur une base d’investisseurs qualifiée, enrichie et toujours à jour.

  • Notre réalisation

    La plateforme complète : un moteur de données qui collecte, classe, enrichit et dédoublonne les investisseurs dans BigQuery ; une API Flask avec Auth0, facturation par crédits via Stripe et génération de messages par IA ; des workers d’envoi d’e-mails ; quatre applications React et une extension de navigateur, le tout sur Google Cloud avec Postgres hébergé chez Neon.

  • Le résultat

    Un SaaS en production sur Google Cloud, dont la facturation, l’authentification et la prospection ont été refondues à mesure que le produit trouvait son modèle.

Services associés : Développement full stackCollecte et analyse de données

Savoir-faire

Ce qu’il a fallu.

  • Ingénierie des données

    • Un pipeline de données investisseurs piloté par les événements sur Cloud Tasks : collecte → classification par LLM → enrichissement multi-fournisseurs → rattachement à la taxonomie, jusqu’à un entrepôt BigQuery organisé en couches.
    • Une résolution d’identité qui attribue à chaque investisseur un identifiant unique, quelle que soit la source qui l’a trouvé, et des caches (30 jours pour la recherche, 90 jours pour l’enrichissement, réponses LLM conservées sans limite) pour que les requêtes payantes et les appels LLM ne soient pas répétés pendant leur durée de validité.
    • Une synchronisation quotidienne de BigQuery vers Postgres derrière la recherche d’investisseurs, bâtie sur JSONB et JSONPath, où les tickets d’investissement saisis en texte libre sont interprétés directement en SQL.
  • Ingénierie logicielle

    • Une API Flask couverte par des tests unitaires, avec connexion Auth0, derrière une couche d’autorisation fondée sur les rôles et la propriété des données.
    • Des packs de crédits Stripe avec webhooks idempotents, un portefeuille et un registre de crédits auditable ; des codes promo répliqués en coupons Stripe.
    • Quatre applications React 19 (plateforme client, back-office d’administration, CRM interne, site vitrine) et une extension Manifest V3 qui remplit les formulaires web des investisseurs.
  • Cloud et infrastructure

    • Services et jobs Cloud Run, Cloud Functions, Cloud Tasks et Cloud Scheduler, avec des jetons OIDC sur les appels planifiés et mis en file vers des workers privés, accessibles uniquement via IAM.
    • Des pipelines Cloud Build pour chaque service déployable (Artifact Registry, Secret Manager), avec une promotion développement → préproduction → production pour l’API principale, l’application client et les workers de prospection.
    • Des pools de workers alimentés par file d’attente, qui prennent les tâches avec SKIP LOCKED et reprennent après un plantage : une campagne, quelle que soit sa taille, ne bloque jamais l’API.

Projet 01

Plateforme client

React 19 · API Flask · Cloud Run

L’espace où les fondateurs définissent leur audience, voient la portée et le coût en crédits avant toute génération, relisent chaque message rédigé par l’IA, canal par canal, envoient depuis leur propre compte Brevo et suivent les e-mails délivrés, ouverts et cliqués.

Objectif
Faire de la base d’investisseurs et de la rédaction par IA de FundReachr un produit en libre-service, payé à l’usage.
Points clés
  • Assistant de campagne en trois étapes, avec brouillons enregistrés automatiquement et estimation en direct de la portée et du coût sur la base d’investisseurs
  • Contrôle message par message : modifier ou régénérer n’importe quel message, envoyer les e-mails un par un ou en masse
  • Packs de crédits Stripe, codes promo, reçus et registre des crédits
  • Statistiques alimentées par les webhooks Brevo tout au long du cycle de vie de chaque message
Technologies
  • React 19
  • Flask
  • PostgreSQL
  • Auth0
  • Stripe
  • Brevo
platform.fundreachr.comDonnées démo
E-mail à un investisseur rédigé par l’IA, dans l’espace campagne de FundReachr
(taille réelle, dans un nouvel onglet)
Chaque investisseur reçoit un e-mail sur mesure que le fondateur peut prévisualiser, modifier, régénérer ou envoyer, avec le suivi des e-mails délivrés, ouverts et cliqués.
platform.fundreachr.comDonnées démo
Revue de lancement d’une campagne, avec la portée et le coût en crédits estimés
(taille réelle, dans un nouvel onglet)
Revue avant lancement : portée et coût en crédits estimés sur la base d’investisseurs avant la génération du moindre message.
platform.fundreachr.comDonnées démo
Statistiques FundReachr : indicateurs de crédits et d’e-mails, et graphique du solde de crédits
(taille réelle, dans un nouvel onglet)
Les statistiques du fondateur, construites sur le registre des crédits et les événements d’engagement des e-mails.
platform.fundreachr.comDonnées démo
Étape audience de l’assistant de campagne, avec les filtres investisseurs
(taille réelle, dans un nouvel onglet)
Un ciblage calqué sur le modèle de données investisseurs : type d’investisseur, stade, ticket et secteur.
platform.fundreachr.comDonnées démo
Grille de campagnes de levée de fonds avec barres de progression
(taille réelle, dans un nouvel onglet)
Le cycle de vie de chaque campagne en un coup d’œil, du brouillon et de la génération par IA jusqu’à l’envoi et la clôture.

Projet 02

Moteur de données investisseurs

Python · Cloud Run · Cloud Tasks · BigQuery

Il construit et rafraîchit la base dans laquelle cherchent les fondateurs. Des adaptateurs de sources collectent les profils d’investisseurs et de fonds depuis la recherche web, des listes d’investisseurs, des registres publics, des annuaires, les sites des fonds de capital-risque et des dépôts de fichiers ; un LLM filtre les résultats de recherche web et les dépôts de fichiers pour ne garder que de vrais investisseurs, et en extrait la thèse d’investissement ; les coordonnées sont enrichies ; les doublons fusionnent en une fiche de référence unique ; tout est rattaché à une taxonomie fixe.

Objectif
Garder à jour une base d’investisseurs qualifiée et dédoublonnée sans constituer de listes à la main, en maîtrisant les requêtes payantes.
Points clés
  • Chaîne d’événements sur Cloud Tasks : collecte → classification → enrichissement → rattachement
  • 43 secteurs, 9 stades de financement et des zones géographiques structurées
  • Niveaux de cache pour la recherche, l’enrichissement et les réponses LLM
  • Un crawler Playwright qui collectait les formulaires de candidature des sites de fonds et faisait correspondre leurs champs aux données du fondateur grâce à un LLM
Technologies
  • Python
  • Flask
  • BigQuery
  • Datastore
  • Cloud Tasks
  • OpenAI
  • Gemini
  • Playwright
Schéma du pipeline de données investisseurs de FundReachr
(taille réelle, dans un nouvel onglet)
Le moteur de données investisseurs : collecte planifiée, classification par LLM, enrichissement et résolution d’identité jusqu’à BigQuery, avec une synchronisation quotidienne vers l’application.

Projet 03

Moteur de prospection

Cloud Functions · Cloud Tasks · OpenAI · Brevo

Il rédige en parallèle tous les messages d’une campagne et envoie les e-mails. Des workers de génération demandent à OpenAI un e-mail ou une note LinkedIn adaptés à la thèse de chaque investisseur et au pitch du fondateur ; des workers d’envoi expédient les e-mails depuis le propre compte Brevo du fondateur, avec contrôle des crédits et, en option, le pitch deck en pièce jointe.

Objectif
Une prospection personnalisée à grande échelle, qui résiste aux plantages, se met en pause quand les crédits sont épuisés et ne laisse jamais deux workers envoyer le même message.
Points clés
  • Postgres comme file de travail : réservation par SKIP LOCKED, reprise des tâches abandonnées, clôture sous verrou de ligne
  • Choix entre génération par IA et modèles, par plateforme et par langue
  • Une extension de navigateur qui remplit les formulaires web des investisseurs avec les valeurs rédigées par l’IA
Technologies
  • Python
  • Cloud Functions
  • Cloud Tasks
  • OpenAI
  • Brevo
  • PostgreSQL
Schéma du moteur de prospection de FundReachr
(taille réelle, dans un nouvel onglet)
Le parcours d’une campagne, du lancement par le fondateur jusqu’aux messages générés, envoyés et suivis.
Extension Form FillerDonnées démo
Extension de navigateur qui remplit automatiquement le formulaire de candidature d’un fonds
(taille réelle, dans un nouvel onglet)
L’extension Form Filler remplit le formulaire de candidature d’un fonds fictif avec les valeurs rédigées par l’IA, superposition de débogage activée.

Projet 04

Back-office et CRM interne

React 19 · Flask · Cloud Run Jobs

Une suite d’administration pour exploiter le SaaS sans toucher à la base de données (utilisateurs, crédits, packs, codes promo adossés à Stripe et files de validation des corrections de fiches investisseurs proposées par les utilisateurs), ainsi que le CRM avec lequel FundReachr vend son propre produit, en envoyant des séquences FR/EN par lots quotidiens calibrés sur le quota.

Objectif
Exploiter, assister et développer le produit avec des outils internes plutôt qu’avec des manipulations manuelles en base.
Points clés
  • Validation champ par champ des corrections participatives avant qu’elles n’atteignent la base d’investisseurs
  • Attributions et déductions de crédits inscrites au registre
  • Envoi par lots Cloud Tasks → Cloud Run Job, dans la limite du quota quotidien du fournisseur d’e-mails
  • Documentation intégrée à l’application, avec des diagrammes Mermaid du cycle de vie des campagnes et du modèle de données
Technologies
  • React 19
  • Flask
  • Alembic
  • Cloud Run Jobs
  • Cloud Tasks
  • Mermaid
CRM interneDonnées démo
Page de campagne du CRM interne avec ses séquences programmées
(taille réelle, dans un nouvel onglet)
CRM interne : une séquence programmée pour un envoi quotidien automatisé, chaque étape suivie par fondateur.
Back-office adminDonnées démo
Revue par l’administrateur des modifications proposées sur une fiche investisseur
(taille réelle, dans un nouvel onglet)
Back-office d’administration : une correction de fiche investisseur proposée par un utilisateur, vérifiée champ par champ avant d’être appliquée.
Back-office adminDonnées démo
Tableau de bord d’administration avec cartes d’indicateurs et répartition par statut
(taille réelle, dans un nouvel onglet)
Tableau de bord de l’opérateur : utilisateurs, campagnes et revues de données en attente en un coup d’œil.
CRM interneDonnées démo
Tableau du pipeline de prospects du CRM interne
(taille réelle, dans un nouvel onglet)
Pipeline de prospection avec l’effectif de chaque étape, l’avancement des séquences, les ouvertures et les rendez-vous.
Back-office adminDonnées démo
Fiche utilisateur côté administration, avec le portefeuille de crédits
(taille réelle, dans un nouvel onglet)
Gestion des comptes clients : accès, crédits attribués et inscrits au registre, pack actif.
CRM interneDonnées démo
Page d’aide du CRM interne avec un diagramme entité-relation et un graphique par statut
(taille réelle, dans un nouvel onglet)
La documentation livrée dans le CRM : le modèle de données en diagramme Mermaid, au-dessus d’un graphique en direct des messages par statut.

Projet 05

Site vitrine

React · three.js · Cloud Run

fundreachr.com : un bandeau d’accueil en WebGL, une visualisation three.js du réseau d’investisseurs et des prix de packs lus en direct dans le catalogue produit, ainsi que le pipeline Playwright scripté qui enregistre la vidéo de démonstration du produit.

Objectif
Convertir les fondateurs en inscrits, avec de vraies images du produit et des prix de packs lus dans le catalogue en production.
Points clés
  • Réseau three.js sur mesure, aux connexions animées par shaders
  • Tarifs affichés depuis le catalogue du back-end, avec une solution de repli robuste
  • Balises SEO sur chaque page, et données structurées JSON-LD sur l’accueil et la FAQ
Technologies
  • React
  • three.js
  • Tailwind CSS
  • Cloud Run
  • Playwright
fundreachr.com
Bandeau d’accueil du site vitrine de FundReachr
(taille réelle, dans un nouvel onglet)
fundreachr.com (textes de FundReachr) : un ciel étoilé en WebGL derrière le titre et les appels à l’action.
fundreachr.com
Section du site vitrine montrant le réseau d’investisseurs en three.js
(taille réelle, dans un nouvel onglet)
Une visualisation three.js sur mesure du réseau d’investisseurs, aux connexions dessinées par shaders (textes marketing de FundReachr).
fundreachr.com
Section tarifs des packs de crédits
(taille réelle, dans un nouvel onglet)
Prix des packs et crédits lus dans le même catalogue produit que le paiement, avec un repli intégré si l’API ne répond pas.
Landing page bêta
Landing page bêta de FundReachr
(taille réelle, dans un nouvel onglet)
Le point de départ : la landing page bêta, lancée en octobre 2025 pour recruter les premiers fondateurs.

Et maintenant, à vous.