← Back to all projects
Project 08

B2B Intelligence Command Center

A private intelligence layer for a target market. Watches blog feeds, news, hiring posts, and social — surfaces the moment to act and drafts the outreach when it lands.

6
signal types
24h
refresh cycle
6
ladder steps
30d
signal TTL
2
deployments
1-click
to outreach

Open web in. Drafted pitch out.

Sources
Blog RSS
Google News
Hiring / Social
→
Pipeline
Daily Cron
Filter + Dedupe
Relevance Gate
→
Store
Supabase
30-Day TTL
→
Surface
6-Panel Grid
Member Ladder
→
Act
Action Queue
AI Draft
The Problem

The right moment to pitch a business is small. Most of it is missed.

Every target company throws off signals — blog posts, hires, press, complaints, launches. Each is a window. Most close before anyone notices, because the work of finding them lives across twenty tabs nobody opens every morning.

The engine collapses that work into one screen. Tracks a defined set of companies, monitors a defined set of feeds, surfaces every fresh signal as an actionable row — connect, engage, or pitch — without leaving the view.

The Model

Four moving parts. One pipeline.

Layer Role
Companies Defined target list with priority scores and per-company pitch angles.
Signals Live feed of what's happening at each company — and across the wider market.
Members People at each company, tracked up a 6-step relationship ladder.
Outreach AI-drafted email tied to the triggering signal and the right contact.
What It Watches

Six signal categories. Pulled from the open web.

BLOG POSTS
Direct RSS from each company — what they're saying in their own words.
NEWS MENTIONS
Per-company and niche-wide news queries — press, awards, market chatter.
HIRING
Job posts signal growth, churn, or a workflow that's breaking.
PAIN POINTS
Complaints, missed bookings, bad reviews — where the company is failing.
SOCIAL UPDATES
Public posts and founder interviews — context for a warm opener.
EXPANSION
New locations, partnerships, launches — highest-leverage moments to land.
How Signals Become Action

Filtered. Deduped. Routed to a queue.

Stage What Happens
Fetch Per-company sources (blog RSS, news queries) and niche-wide sources run on the same daily cron. Manual refresh on demand.
Filter Age gate drops stale items. Relevance gate requires distinctive name matching — kills false positives from generic search.
Dedupe Title-based dedup against the existing set. Date normalized so TTL math holds.
Route Signal lands in one of six panels. One click tags it Pitch / Connect / Engage into the action queue.
Draft Action button generates a 3-paragraph email tied to the signal, the contact, and the company's pitch angle.
Purge Untouched signals expire on a rolling 30-day window. Tagged signals are protected until marked done.
The Member Ladder

Cold pitches don't land. Warm ones do.

Every company has people behind it — owners, operators, marketing leads. The engine tracks each along a relationship ladder. Outreach stays locked until the contact reaches engaged or above. You earn the right to pitch first.

Stranger
→
Observed
→
Engaged
→
Connected
→
Warm
→
Pitched
Two Surfaces, One Engine

Same pipeline. Two front doors.

Internal pipeline tracker — engine pointed at my own target market. Defined niche, tracked companies, daily sweeps, member ladders, AI drafts. Full sales motion on one screen.

Client intel layer — same engine pointed outward. Clients get their own version watching accounts, competitors, or market — on a dashboard styled to their brand. Same architecture, different target list.

Stack

What it runs on.

FrontendNext.js
HostingVercel
DatabaseSupabase
CronVercel Cron
SourceRSS Feeds
SourceGoogle News
AIGemini
AIClaude
Orchestrationn8n
SyncGoogle Sheets