Skip to content
Selected work
Production SaaSClaude APIMulti-tenant

IntentHub

A multi-tenant B2B platform that finds the companies in the market to buy, right now. It reads messy, unstructured web data and turns it into clean, scored purchase-intent signals on a real-time dashboard, so sales teams reach out the moment intent appears instead of guessing. Built for a France-based client and live in production.

IntentHub dashboard, live intent feed
0
Signal streams
0
Party tiers
0
Integrations
Async
Pipeline
Real-time
Dashboard
Live
Status
// the problem

Buying intent, buried in noise

Sales teams sit on a mountain of public web data about their accounts. Almost none of it is structured, and most of it is noise.

Finding the few companies actually in-market means hours of manual digging, and by the time someone notices, the moment has already passed.

What if the noise scored itself, and only the accounts worth a call ever surfaced?

The brief

A France-based client needed to spot high-intent prospects from messy web data without a human reviewing every row.

The bar was reliability at scale: turn noise into a signal a sales team would actually trust, cheaply enough to run on every account, every day.

// core features

Noise in, signal out

A pipeline that reads the open web and hands a sales team a short, ranked list of accounts worth their time.

Feature 01

A live intent feed

Signals stream onto a real-time dashboard, scored and ranked, so the hottest accounts surface the moment they start heating up instead of showing up in a report next week.

Live intent feed with scored accounts
Feature 02

Scored by Claude

Every signal runs through Claude with a strict JSON schema. Scoring is contextual: it reads the pattern across a company's activity and writes a plain-language rationale, not a weighted sum of clicks.

Account detail with AI insight and intent history
Feature 03

Signal agents

Configurable agents watch for the signals that matter to each team, with ICP filters, per-signal weights, and hot and warm thresholds that decide when an account is worth a call.

Signal agents with ICP filters and thresholds
Feature 04

Multi-source intelligence

Seven signal streams across first, second, and third-party sources, from a website tracking pixel to funding news and hiring data, unified into one score per account.

Connected data sources and integrations
// architecture

How it works

An async pipeline that scrapes the web, extracts with an LLM, and only emits the signals it is actually confident about.

raw datastructured JSONscored signalpushabstaintune thresholdSOURCESWeb & pricing pagesJob posts, fundingNews & LinkedInTracking pixelASYNC PIPELINE1Celery + Redis queue1 · Scrape2 · Analyze3 · ExtractCLAUDE2strict JSON schemaAbstention gateconfident enough?yes, emitno, abstainPostgreSQLsignals + scoresREAL-TIMEDashboardlive intent feedWebSocketsAbstain, held backnot shown to the teamGROUND-TRUTH EVALS3measures precision, sets the abstention threshold
1 · async pipeline2 · trusted output3 · evals
Product tour

Inside the product

Command center
PRIMARYID: DASH-001

Command center

The live intent feed: scored accounts, ranked hot leads, and the signals behind each one.

Account intelligence
DEEP DIVEID: ACCT-002

Account intelligence

Per-account AI insight and full intent history.

Signal agents
AUTOMATION

Signal agents

Churn defense
RETENTION

Churn defense

Integrations
DATA SOURCES

Integrations

Landing page
ENTRY POINT

Landing page

MODULES: 7SIGNALS: 7TENANCY: Isolated
LIVE_IN_PRODUCTION
// the stack

Tech stack

Async task orchestration, real-time WebSockets, and a trustworthy LLM layer, all multi-tenant.

Backend

  • Django REST Framework
  • Celery
  • Redis
  • PostgreSQL
  • Daphne / Channels

Frontend

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • TanStack Query
  • Zustand

AI layer

  • Claude API
  • Strict JSON schema
  • Confidence + abstention
  • Ground-truth evals

Infra + data

  • Docker
  • Multi-tenant
  • WebSockets
  • n8n automations
  • HubSpot / Apollo
// the interesting part

Decisions that mattered

The calls that shaped the build, and the reasoning behind each one.

1

Async over inline

Scraping and LLM calls are slow and bursty, so they never run in the request path. Celery and Redis split the work into decoupled stages: scrape, analyze, extract, publish. One stage failing does not cascade, and the expensive stages scale on their own.

2

Abstention over hallucination

A wrong signal costs a client a wasted sales call, so the system is allowed to say I don't know. Low confidence or thin evidence holds a signal back instead of inventing intent. That came straight out of my MSc dissertation on faithfulness and abstention.

3

Evals over vibes

A small hand-labeled ground-truth set measures extraction precision, so prompts, how much context to feed the model, and the abstention threshold are all set by numbers, not gut feel.

4

Structured output, always

Claude is constrained to a strict JSON schema, so every extraction is validated data the rest of the pipeline can trust, not a paragraph to parse downstream.

5

Multi-tenant from day one

Every record is organization-scoped with role-based access, so it is a real SaaS with isolation between clients, not a single-tenant script with a login bolted on.

6

Real-time by default

Daphne and WebSockets push new signals onto the dashboard as they are scored, so the feed is genuinely live instead of a page a rep has to keep refreshing.

// roadmap

What's next

Immediate roadmap

  • Full public launch from limited release
  • Bring your own key for Claude to cut per-account cost
  • Deeper enrichment caching
  • More third-party signal sources

Future vision

  • Self-serve onboarding
  • Per-tenant scoring that sharpens with feedback
  • Deeper CRM and outreach automation
  • SOC 2 and enterprise controls

Need this kind of AI pipeline?

IntentHub is Claude turning raw web data into structured, trustworthy signals, in production for a real client. If that is the shape of what you are building, let's talk.

Next case study

InvestiGator

An autonomous AI investigation platform on Google Gemini 3, with six cooperating agents and a live knowledge graph.

View