Fiche projet
Reach-Up
SaaS de prospection B2B multi-tenant, en marque blanche
- Cadre
- UpYourBizz
- Période
- 2026.05 → présent
- État
- En service


Contexte
Une plateforme de prospection vendue en marque blanche : chaque client la voit comme la sienne, tous partagent la même base et le même moteur. La multi-tenance n'est pas une option ajoutée, c'est la première contrainte de conception.
Contraintes
- Multi-tenant : l'isolation des données est structurelle, pas applicative — deux portes opérateur assumées la contournent, filtrées et auditées.
- Marque blanche : sur les surfaces publiques, l'identité visuelle est une donnée, pas du code.
- Coût par tâche : un modèle lourd sur toutes les tâches rendrait le produit non rentable.
- Multicanal : e-mail, LinkedIn, SMS et WhatsApp n'ont ni les mêmes limites ni le même ton.
Décisions techniques
- Routage multi-modèle par type de tâcheChaque type de tâche part vers le modèle choisi pour lui dans une table de routage par tenant, via OpenRouter. Le verrou juridique eu_only est automatique et ferme par défaut ; l'arbitrage coût/qualité est posé par l'opérateur, tâche par tâche — c'est ce qui sépare une intégration de LLM d'un produit qui tient sa marge.
- Orchestration de campagnes sur canvasLes workflows se construisent visuellement, les personas se génèrent à partir de documents fournis, et le séquençage multicanal passe par l'API Lemlist.
- L'envoi part des boîtes des clientsLes boîtes Office 365 des clients sont connectées chez l'exécutant d'envoi, pas derrière un relais mutualisé : la délivrabilité appartient à l'expéditeur, et le produit ne porte pas d'OAuth applicatif.
- Collecte du catalogue clientLe catalogue de chaque client est collecté en Scrapy, dans un dépôt séparé du produit : e-mails et messages de prospection s'adaptent aux offres du moment sans saisie manuelle.
- Assistant agentique et bibliothèque interneUn assistant à outils fixes, conversation persistée par tenant et par campagne, chaque action sortante passant par une confirmation humaine — et une bibliothèque de composants maison pour que l'interface reste cohérente à mesure que le produit grossit.
Parc
TypeScriptReactViteHonoTurborepo / pnpmSupabasePostgreSQL — RLS & partitionnementpgmq · pg_cronZodVitestOpenRouterLemlistSentryVercel