Radar
An account & lead scoring product and agentic demand-gen engine — one brain over the whole GTM stack. Every account charted on an Awareness × Readiness compass; every inbound lead gated, enriched, scored, and routed while it's still warm.
Signal everywhere. Brain nowhere.
The GTM stack knew a lot: HubSpot knew engagement, Salesforce knew pipeline, ZoomInfo knew firmographics, the SEP knew activity. Nobody knew everything at once — and each tool that promised to be the brain wanted per-seat pricing, opaque scoring, and another integration to babysit.
Meanwhile inbound leads waited on manual triage, account prioritization lived in tribal knowledge, and every new "AI SDR" vendor pitch was another $30K line item for something the team couldn't inspect or control.
Why build, and why like this.
The decisions that shaped the system:
One brain, many hands.
Signals flow in from the systems of record; the scoring core normalizes them into account and lead state; agents and rules act on that state through whichever hands the team already uses.
What it's made of. What it talks to.
Next.js + TypeScript app, deck.gl WebGL compass, Claude agents for research and enrichment, direct REST integrations where native connectors didn't exist.
Not a ceiling — this is what Radar was being built against. Gong, review sites, ads platforms, the rest of the rack: anything the team owns with API access can join the mesh.
// The whole scoring model is data — edit the weights, publish, done. export const DEFAULT_MODEL: ModelConfig = { version: "v3", xDivide: 5.0, yDivide: 5.0, // the quadrant cut lines fitWeights: { industry: 25, size: 20, revenue: 10, stack: 30, lookalike: 15 }, signals: [ // awareness/readiness points, decay windows, half-life on repeats, per-account cap { id: "g2-compare", aw: 4, rd: 9, awDecay: 14, rdDecay: 7, halfLife: 14, leadCap: 2 }, { id: "pricing", aw: 2, rd: 9, awDecay: 30, rdDecay: 5, halfLife: 14, leadCap: 2 }, { id: "demo-request", aw: 3, rd: 10, awDecay: 60, rdDecay: 10, halfLife: 30, leadCap: 1 }, { id: "champion", aw: 8, rd: 6, awDecay: 90, rdDecay: 60, halfLife: 90, leadCap: 1 }, ], gates: { competitor: true, freeEmail: true, customerRouting: true, dnc: true }, rollup: { perLeadDivide: 1.5, accountCap: 40, lookbackDays: 90, seniorityWeighting: true }, };
Inside the cockpit.
Captures from the working demo — the compass, an account dossier, the inbound trigger engine. A short walkthrough film lands here next.



The case for one brain.
Speed-to-lead in hours, not days — inbound never waits on a human to notice it. Scoring you can read and edit — every threshold and gate is inspectable, not a vendor's black box. Costs that scale with usage, not seats — agent workloads run on direct API billing. One chart the whole team steers by — awareness × readiness, no tribal knowledge required.
Fly it yourself.
The full working shell on synthetic data — every chart, dossier, and queue interactive. Access is by code (it rotates per conversation — if we're talking, you have one; if not, transmit and I'll send it).
ENTER ACCESS CODE →LIVE DEMO · ACCESS IS CODE-GATED

