É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

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





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

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


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






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



