§01 — The Build
Three months of foundation. One month of activation. The deliverables, the platform, and the messages going out — all yours. None of the customer-facing work is locked behind a vendor contract.
DELIVERABLE 01
Brand & positioning system
4 master docs · 17K-char positioning JSON · 30 research documents
DELIVERABLE 02
Universe + ICP v2 scoring
3,964 companies, 102K contacts, 7-tier taxonomy
DELIVERABLE 03
SSO matrix + AI message engine
37-row matrix, per-rep voice rules, contextual angle selection
DELIVERABLE 04
Outreach platform — both channels
LinkedIn (HeyReach) + Email (EmailBison) live
DELIVERABLE 05
Reply loop + DNC compliance
Webhooks → drafts → rep review → send
DELIVERABLE 06
3 marketing landing pages
Autologous · Accelerate · Scale-Up — on CARR brand
§02 — The Engagement
Each month had a center of gravity. Below is what actually got built and shipped — and where Month 4 is going.
Month 1
Foundation
Month 2
The Messaging Engine
Month 3
Hardening
Month 4 · Current
Activation
Worth noting
Send/receive automation was never in the original SOW. The Launch program scoped strategy + matrix + content. The reply loop, dual-channel sending, webhook reconciliation, and per-rep DNC enforcement got built anyway because the system needed them to function end-to-end.
§03 — Foundation
3,964 companies. 102,312 contacts. Every list, every spreadsheet, every "I have a contact at…" landed in one structured place — refreshed on a known cadence.
CONSOLIDATED FROM
LIVE DATA SIGNALS
§04 — Enrichment + ICP
A name and a domain isn't a target. The system runs three enrichment passes per company, then derives a deterministic score. Apollo and ZoomInfo don't carry "what separation tech does this CGT company use" — because that requires CARR domain reasoning.
LAYER 1 · HUB ENRICHMENT — UNIVERSE-WIDE
Every CGT company in the BioCreative universe gets the same baseline treatment. L1 produces structured subcategory + life-sciences flag. L2 runs Claude Sonnet over web content + scraped sites and writes a 22-key JSONB.
Coverage: 75% of CARR's universe (gaps are mostly very-small + stealth-mode companies)
LAYER 2 · CARR-SPECIFIC — CUSTOM
Custom code that takes the company's domain, web-searches it, scrapes the company's own site (about pages, technology pages, news), and runs Claude with CARR-specific extraction prompts. Output is purpose-built for the centrifuge-fit conversation.
This doesn't exist off-the-shelf — it requires CARR domain knowledge encoded in the prompts + schema
LAYER 3 · ICP V2 SCORING — DETERMINISTIC
Reads both enrichment layers + live signals (trials, grants, news), runs a 4-dimension score, assigns one of 7 account tiers. No LLM in the scoring step — same inputs always produce the same tier.
30 PTS
Technical Fit
25 PTS
Market Opportunity
25 PTS
Competitive Position
20 PTS
Right to Win
7-tier taxonomy: cold · nurture · validated_target · customer · disqualified · parked · unreviewed
Where it lands
All three layers land as structured data on the Account page — a Gold Sheet view that surfaces everything in one place. The contextual engine reads from this directly when generating a message. Reps can flag bad data through a validation pipeline (518 rep verdicts to date) that re-checks claims against fresh web searches.
§05 — The People
A title alone doesn't tell a rep how to talk to someone. Four passes, structured outputs, then a runtime priority chain that resolves a buying persona for every contact — even when classification hasn't run yet.
Name, title, LinkedIn URL, sourcing context. Title parsing extracts structured seniority + department, normalized in a Postgres trigger on every insert.
Waterfall pulls the LinkedIn headline, About summary, experience arc, and best-confidence email. This step gates the next one — only Clay-enriched contacts proceed to classification.
Claude reads Clay output + company context, writes one of 6 CARR-specific personas plus a rich segment_data JSONB (persona summary, messaging angle, pain points, value hook, decision role).
A 6-step priority chain resolves a buying persona for every contact: buyer_segment → marketing_persona → role_type → department → seniority → executive default. Every contact gets a persona — quality degrades down the chain, but messages still get generated.
The contextual engineering layer
By the time the SSO matrix runs, every contact already carries enrichment + persona + buying angle + pain points + value hook. The LLM never has to guess.
§06 — The SSO Matrix
When it's time to write an email or LinkedIn message, we don't ask an LLM to "be creative." We run the SSO Matrix — pull everything relevant about this person, this account, this moment, assemble it into a structured payload, and hand it to a static LLM for generation.
Pull
Enrichment record (Hub L2 + carr_enrichment_data) · ICP tier · persona segment_data · recent triggers (trials, grants, news) · brand voice tokens · message thread history.
Assemble
Context engineered into the SSO payload. The 37-row messaging matrix maps persona × ICP group × messaging variant → single sales objective + value props + lead-in phrasing. Per-rep voice rules attach as guardrails.
Generate
Claude Sonnet 4 (gpt-4o-mini fallback) writes the message. At runtime, not from a template. Output captures which tier of the matrix fired (db_matrix · db_matrix_cgt · role_fallback).
Score + ship
Brand Voice Guardian + per-rep writing rules + DNC check → send via HeyReach (LinkedIn) or EmailBison (email). Drafts surface in the rep's review queue first; nothing autonomous.
Co-authored, not vendor-written
Nico contributed his voice rules directly — three banned phrases, two required, structural rules — codified end-to-end. Jake contributed LinkedIn-specific patterns. Every cell of the matrix was reviewed by a CARR rep before it shipped.
Following Karpathy's method
The LLM is a static processor. The intelligence comes from the context engineering — what we pull, what we filter, what we hand it. All the work happens before the model sees the task. That's why every message reads like it was written by someone who knows the recipient's business.
§07 — The Platform
Four core surfaces, each one designed around what a rep actually does — not around how the database is structured.
01 · ACCOUNT DETAIL
Miller-Heiman framing made operational — decision-makers, blockers, current/desired state visible per account. All three enrichment layers + signals consolidated on one page. Live pipeline tracking with deal stages sits on the Month 4+ menu.
02 · TARGET UNIVERSE + LIST BUILDER
Multi-axis filters (modality, stage, ICP tier, manufacturing scale, separation tech, recent grant, last contacted). Save the result as a list, push that list straight into a campaign.
03 · CAMPAIGN HUB + OUTREACH MODAL
Pull up a contact, see the SSO-generated message, edit if needed, send through HeyReach or EmailBison. No tab-switching to external tools.
04 · VALIDATION QUEUE
Anything ambiguous — bad email, conflicting persona, low-confidence ICP, rep-flagged data — lands in a queue, not a black hole. A rep reviews and re-routes; 518 verdicts logged to date.
§08 — Real Messages
Pulled live from the database. Six emails sent in the last week of May. Two LinkedIn DMs from active sequences. These are real messages, real recipients — light edits only for layout.
§09 — The Reply Loop
A connection accept, a reply email, a meeting request — all routed back into the platform automatically. The rep gets a draft response, edits, sends. Nothing falls through because someone forgot to check an inbox.
Webhook capture
HeyReach + EmailBison post events directly to the platform — connections, replies, bounces, opens.
Match to contact + thread
Every event resolves to the right contact, the right campaign, the right historical thread.
Generate draft response
The SSO matrix runs again, this time with the reply text + thread history as context. Output: a starting draft.
Rep review
The draft surfaces in the rep's queue. They edit, approve, or reject. No autonomous sending of replies.
Send + log
Goes back through the same channel it came in on. The thread updates. The next message will see this as context.
Beyond the original SOW
The Launch program scoped strategy, matrix, and content. The reply loop got built because without it, every message turned into a guess about whether the recipient ever responded.
Recent fix (May 31): HeyReach webhook v2.6 — corrected a 99-day silent-failure bug in payload normalization. The loop is now confirmed reliable end-to-end.
§10 — Marketing Support
Built on the CARR brand system. Live on the Hostinger VPS. Ready as outreach destinations once UTM tracking is wired.

/AUTOLOGOUS
Single-Use Centrifugation for Patient-Specific Manufacturing
Eliminates cross-contamination risk in autologous workflows. Targets manufacturing & quality leads.

/ACCELERATE
Accelerate Your Path to Patients
Executive-positioned for emerging CAR-T & cell therapy companies. VP / Director / C-Suite framing.

/SCALE-UP
Same Technology, Same Recipes — From UFMini to U2K
Research & Engineering audience. PD teams scaling iPSC / gene therapy without tech-transfer risk.
The engine, not just the output
These three pages came out of a templated landing-page system that can also produce: event-specific pages (ASGCT, ISCT booth follow-ups), sales collateral (one-pagers per persona × modality), internal project briefs, and SEO landers targeted at long-tail manufacturing queries.
§11 — Coaching & Learning
Day-one philosophy: this is yours to run. Every layer of the build had a CARR co-author and a working session, not a hand-off.
Owns the front-edge of the LinkedIn channel. Connected to the CARR DB via Claude Desktop + GitHub MCP for independent database access. Co-built the SSO matrix from the rep side.
Three banned phrases, two required, structural rules — all his. The system runs them every time it generates under his name. Notes audit (April 22) drove the rep-validation pipeline.
Each running their own active campaigns in Month 4. Rep-driven message review, daily flow through the platform. Each has their own voice profile in production.
The natural Month 4+ extension: a structured group inside CARR that doesn't just use the system but extends it — building new lists, new agents, new workflows on top.
§12 — Month 4+ Options
Through strategic education and support, additional build-outs, market segmentation, and integrations. A menu, not a contract — pick one, pick three, pick none and just keep refining what's running.
Keep both channels running. Iterate on the SSO matrix from real reply data. Tighten ICP v2. Restore weekly strategy cadence. The compound-interest path.
A 4–6 person group inside CARR trained to build and own custom agents on top of the platform — research agents, follow-up agents, internal-Q&A agents. Methodology + working time.
Take the Gold Sheet beyond static — every account in active opportunity scored on MH dimensions, refreshed off real activity. Pipeline reviews become data, not memory.
Same templating system that built the 3 landers, repurposed for one-pagers, persona briefs, conference handouts, internal project pages. On-brand, fast, repeatable.
Pre-event target lists, on-event messaging, post-event reply loop — all wired into the same platform. ISCT, ASGCT, PEGS, BIO each get a structured campaign treatment.
A second ICP, a second SSO matrix branch, a second set of landing pages. Same engine, different product line. Run both pipelines side by side.
Two-way sync between the platform and HubSpot. Marketing keeps HS, sales gets the CARR platform — both stay current without copy-paste.
Three migration paths: keep on current infra, lift-and-shift to Azure, or selective workload move. We can scope and own whichever route the BW IT conversation lands on.
Keyword clusters, pillar pages, Schema.org markup, and backlink strategy targeting bioprocessing decision-makers. Build domain authority so CARR ranks for high-intent commercial queries.
Precision-targeted LinkedIn campaigns by persona and account list. Google Ads on high-intent keywords. Retargeting via pixel on the landing pages already deployed.
Branded presence on LinkedIn — company posts, rep amplification sequences, thought-leadership content calendar. Systematic not sporadic.
Monitor bioprocessing conversations, job postings, expansion signals, and competitor mentions. Feed real-time buying intent back into the SSO matrix for timing-aware outreach.
The complete agent architecture — coordination agents managing campaign flows, conductor agents orchestrating multi-step research, director agents making prioritization decisions. A self-improving system that runs outreach, monitors results, and adapts without manual intervention.
A menu, not a contract
The platform is built to take any combination of these without rework — that was the whole point of the foundation phase.