Aller au contenu
Quentin Barroin

Étude de cas

Novera Signal

L’agent IA qui détecte, qualifie et score mes opportunités de prospection LinkedIn — et laisse toujours la décision à l’humain.

Un agent IA de détection d’opportunités commerciales sur LinkedIn, pensé pour le recrutement IT : il collecte, normalise, analyse avec Claude, score sur 100, catégorise et prépare un message LinkedIn personnalisé — mais ne déclenche jamais d’envoi. Fonctionnement semi-automatique : l’agent prépare, l’humain valide.

Rôle
Design · Produit · Développement
De A à Z, en solo
Année
2026
Type
Agent IA de détection d’opportunités · Recrutement IT
Opportunitéto_review
Score
/100
AnalyseClaude
Messageprêt à copier
En attente de validation humaine — aucun envoi automatique.

Le défi

Je trouvais mes opportunités de prospection LinkedIn 100 % à la main : recherche manuelle, lecture des posts un par un, analyse au jugé, rédaction manuelle de chaque message, suivi artisanal. Chronophage, et surtout fragile — des signaux passaient inaperçus : posts de recrutement, de croissance ou de difficulté de sourcing noyés dans le flux.

Aucune priorisation, des messages génériques, et aucun historique structuré du suivi. L’objectif : un agent qui détecte et qualifie ces signaux comme le ferait un recruteur, qui priorise par un score objectivable, et qui prépare un message prêt à envoyer — sans jamais retirer la décision finale à l’humain.

La solution : un pipeline semi-automatique

De la requête de prospection au suivi de statut, un pipeline en étapes claires. Principe directeur : l’agent détecte, analyse et prépare ; l’humain valide avant toute action sortante. Aucun envoi LinkedIn automatique (décision ADR-0001), choix assumé pour la conformité et la protection du compte.

Collecte LinkedIn

À partir d’une requête de prospection, collecte via un provider, puis normalisation et déduplication.

Analyse Claude

Besoin probable, urgence, potentiel et angle d’approche — une lecture qualifiée de chaque signal.

Score /100 & catégorisation

Chaque opportunité est notée sur 100 et catégorisée pour prioriser la prospection.

Message personnalisé

Un message LinkedIn court, personnalisé et prêt à copier — jamais envoyé automatiquement.

Validation humaine

Copier ou approuver : l’humain garde la main avant toute action sortante.

Suivi de statut

Cycle de vie tracé : new → to_review → approved → contacted → responded → …

Sous le capot

Un monolithe Next.js typé de bout en bout, avec une vraie discipline d’IA en production : sortie JSON stricte validée, prompts versionnés, et le provider LinkedIn placé derrière une abstraction. La techno est complète ; ce qui reste à trancher est commercial et juridique, pas technique.

Next.jsReactTypeScriptSupabaseDrizzleAnthropicZodVercelVitestPlaywright

Architecture

Monolithe Next.js 15 (App Router, RSC, Server Actions) + React 19, TypeScript strict. Modèle de données en 5 tables — opportunities, search_queries, opportunity_analysis, messages, runs — sur Supabase Postgres avec Drizzle ORM et migrations versionnées.

Analyse & scoring IA

Anthropic SDK (Claude) pour l’analyse, le scoring /100 et la rédaction du message, avec une sortie JSON stricte validée par Zod et des prompts versionnés. Moteur d’analyse pluggable : Claude ou Ollama.

Provider LinkedIn abstrait

Une abstraction LinkedInProvider (mock | Unipile) : développé d’abord sur un mock, puis Unipile branché en réel. Le pipeline ne dépend jamais d’un provider concret.

Extensions livrées

Profil commercial et ciblage ESN / client final, scout multi-profil (commercial + builder), passerelle d’enrichissement à la demande, et extraction des « engagers » d’un post.

Garde-fous & sécurité

Clés API jamais exposées côté client (uniquement Route Handlers, Server Actions et cron) ; routes sensibles et cron protégés par secret ; erreurs génériques côté client, jamais de secret ni de message provider brut ; Zod sur toute entrée non fiable.

Orchestration & tests

Déployé sur Vercel avec Vercel Cron (route cron protégée par secret) pour les exécutions planifiées. Couverture Vitest (unitaire) + Playwright (e2e).

Mon rôle : tout, en solo

De la vision à la production, j’ai porté Novera Signal seul : design, produit et développement. Les 50 user stories (US-001 → US-050, 12 lots, 4 sprints) sont codées, testées et mergées sur main — pipeline complet et fonctionnel. Reste à trancher la mise sur le marché : un verdict de maturité interne situe le produit à 47/100, le blocage étant commercial et juridique (conformité LinkedIn), pas technique.

Produit & cadrage (PO)

Positionnement, ADRs, découpage en user stories, lots et sprints.

Design & expérience

Parcours de qualification, UI sobre, principe semi-automatique avec validation humaine.

Développement full-stack

Pipeline, modèle de données, orchestration IA, abstraction provider, tests, cron.

Go-to-market & conformité

Arbitrages de conformité LinkedIn et stratégie de mise sur le marché — le chantier ouvert.

Novera Signal, c’est un agent IA qui qualifie et score comme un recruteur, mais qui laisse toujours la décision à l’humain — la même exigence que celle que j’applique quand j’évalue des profils. Concevoir le besoin, dessiner l’expérience, orchestrer l’IA et la mettre en prod : c’est ce regard complet que j’apporte, jusque dans les arbitrages de conformité et de mise sur le marché.