Case study
Novera SignalThe AI agent that detects, qualifies and scores my LinkedIn prospecting opportunities — and always leaves the decision to a human.
An AI agent for detecting commercial opportunities on LinkedIn, built for IT recruitment: it collects, normalises, analyses with Claude, scores out of 100, categorises and drafts a personalised LinkedIn message — but never triggers a send. Semi-automatic by design: the agent prepares, the human validates.
- Role
- Design · Product · Development
- End to end, solo
- Year
- 2026
- Type
- AI opportunity-detection agent · IT recruitment
The challenge
I found my LinkedIn prospecting opportunities 100% by hand: manual search, reading posts one by one, gut-feel analysis, writing each message manually, artisanal follow-up. Time-consuming, and above all fragile — signals slipped through: hiring, growth or sourcing-difficulty posts lost in the feed.
No prioritisation, generic messages, and no structured history of follow-up. The goal: an agent that detects and qualifies these signals the way a recruiter would, prioritises with an objective score, and drafts a ready-to-send message — without ever taking the final decision away from the human.
The solution: a semi-automatic pipeline
From the prospecting query to status tracking, a pipeline in clear steps. Guiding principle: the agent detects, analyses and prepares; the human validates before any outbound action. No automatic LinkedIn sending (ADR-0001 decision), a deliberate choice for compliance and account protection.
LinkedIn collection
From a prospecting query, collection via a provider, then normalisation and deduplication.
Claude analysis
Probable need, urgency, potential and angle of approach — a qualified read of each signal.
Score /100 & categorisation
Every opportunity is scored out of 100 and categorised to prioritise prospecting.
Personalised message
A short, personalised LinkedIn message ready to copy — never sent automatically.
Human validation
Copy or approve: the human keeps control before any outbound action.
Status tracking
Tracked lifecycle: new → to_review → approved → contacted → responded → …
Under the hood
A fully typed Next.js monolith with real production-AI discipline: strict JSON output validated, versioned prompts, and the LinkedIn provider behind an abstraction. The tech is complete; what remains to settle is commercial and legal, not technical.
Architecture
Next.js 15 monolith (App Router, RSC, Server Actions) + React 19, strict TypeScript. A 5-table data model — opportunities, search_queries, opportunity_analysis, messages, runs — on Supabase Postgres with Drizzle ORM and versioned migrations.
AI analysis & scoring
Anthropic SDK (Claude) for analysis, /100 scoring and message drafting, with strict JSON output validated by Zod and versioned prompts. Pluggable analysis engine: Claude or Ollama.
Abstracted LinkedIn provider
A LinkedInProvider abstraction (mock | Unipile): built first against a mock, then Unipile wired in for real. The pipeline never depends on a concrete provider.
Shipped extensions
Sales profile and ESN / end-client targeting, multi-profile scout (sales + builder), on-demand enrichment gateway, and extraction of a post’s “engagers”.
Guardrails & security
API keys never exposed client-side (only Route Handlers, Server Actions and cron); sensitive routes and cron protected by a secret; generic client-side errors, never a secret nor a raw provider message; Zod on every untrusted input.
Orchestration & tests
Deployed on Vercel with Vercel Cron (a secret-protected cron route) for scheduled runs. Vitest (unit) + Playwright (e2e) coverage.
My role: everything, solo
From vision to production, I built Novera Signal alone: design, product and development. The 50 user stories (US-001 → US-050, 12 lots, 4 sprints) are coded, tested and merged on main — a complete, working pipeline. What remains is the go-to-market call: an internal maturity verdict puts the product at 47/100, the blocker being commercial and legal (LinkedIn compliance), not technical.
Product & scoping (PO)
Positioning, ADRs, breakdown into user stories, lots and sprints.
Design & experience
Qualification flow, clean UI, semi-automatic principle with human validation.
Full-stack development
Pipeline, data model, AI orchestration, provider abstraction, tests, cron.
Go-to-market & compliance
LinkedIn compliance trade-offs and go-to-market strategy — the open work.
Novera Signal is an AI agent that qualifies and scores like a recruiter, but always leaves the decision to a human — the same standard I apply when I assess profiles. Framing the need, designing the experience, orchestrating the AI and shipping it: that complete perspective is what I bring, right down to compliance and go-to-market trade-offs.