Chris GarreApplied AI · Engineering
Production AI systems · GTM intelligence · workflow automation
20 May 2026 · BOG
§ 01 · 2024-2026
No Fluff Selling · multi-agent GTM research

Enterprise Researcher v2.0.

I designed, built, and operate a production multi-agent AI system that converts a seller URL and prospect URL into an evidence-grounded account-research report in 3-5 minutes. It replaced 4-8 hours of manual SDR/AE research and now powers GTM pipelines for multiple consultancy clients.

Org
No Fluff Selling
Role
Lead AI Engineer
Window
2024 - present
Surface
Account research
Status
Production
Scope
Architecture · build · ops
§ Readouts
Manual work4-8hrreplaced per prospect
Run time3-5minautomated account research
Workflow count5agentsbounded schemas
StatusLiveopsmonths in production
§ 02

The problem

Manual research does not scale

Every B2B seller asks the same three questions before outreach: is this account a fit, is the timing right, and who should I contact? Manual research answers those questions well, but it takes hours. Generic intelligence tools scale, but they give every seller the same firmographic data and the same weak scores.

The missing layer was personalized, evidence-grounded analysis at machine throughput. The output had to be tailored to the seller's products, ICP, timing signals, competitors, and technographic assumptions. It also had to cite public sources and render into a product surface without manual cleanup.

I split the system into specialized stages because the job is not one prompt. Seller profiling, prospect research, account analysis, contact selection, and batch dispatch all have different failure modes, costs, and retry boundaries.

§ 03

What I built

System map
Enterprise Researcher v2.0 · system mapn8n / FastAPI / Next.js / Postgres / Qdrant / Gemini / OpenAI
Sources
01Seller URLInput
02Prospect URLInput
03News + filingsEvidence
04Jobs + websiteEvidence
05TheirStackTech
06Seller ICPSAP
Pipeline · n8n + FastAPI
SAP GeneratorBuilds and caches the seller account profile: problems, ICP, personas, competitors, timing signals, and technographic fit criteria.
PA ResearcherCrawls eight public and structured sources, chunks evidence, embeds documents, and writes a per-prospect Qdrant collection.
PA Analyzer + PC SelectorGemini stages produce schema-enforced account analysis, fit/timing scores, recommendations, contact ranking, and evidence-linked output.
Destinations
SAP / PA / PC tabsUI
Evidence URLsSchema
Contact hintsRanked
Postgres reportsState
Qdrant collectionsVector
Usage + cost ledgerOps
§ 04

Core components

Five workflows plus queueing
01SAP Generator

Seller profile cache

Codifies what the seller sells: problems, ICP, personas, technographics, competitors, timing signals, and prospecting focus.

02PA Researcher

Eight-source evidence layer

Collects news, filings, annual reports, jobs, technographics, company-site material, and general research into a per-prospect corpus.

03Adaptive retrieval

Qdrant + embeddings

Scrolls small corpora directly and switches to OpenAI-embedded vector search only when the prospect collection gets large enough to need it.

04PA Analyzer

Gemini response schema

Produces fit, timing, classification, evidence references, confidence scores, and GTM recommendations with schema-enforced JSON.

05PC Selector

Contact ranking

Ranks likely contacts for outreach using persona-aligned scoring and the seller profile, instead of generic title matching.

06Batch queue

FastAPI callbacks

Submits long Gemini Batch jobs asynchronously, throttles outbound callbacks, and reports progress back into Postgres for the UI.

§ 05

Engineering judgment

Why it is not a long prompt
§ 06

Output contract

Abridged PA shape
type ProspectAnalysis = {
  engage: boolean
  priority: "critical" | "high" | "medium" | "low"
  fitAssessment: {
    overallFitScore: number
    overallFitConfidence: number
    verdict: string
    checklist: Array<{
      label: string
      met: "Met" | "Partial" | "Not met"
      evidence: string
      source: string
    }>
    competitorPresence: CompetitorSignal[]
  }
  timingAssessment: {
    overallTimingScore: number
    signals: TimingSignal[]
  }
  technographicIntelligence?: {
    overallStackMaturity: string
    buyingWindowSignals: Signal[]
    competitorGapWedges: Wedge[]
  }
  accountClassification: {
    tier: "Tier 1" | "Tier 2" | "Tier 3"
    rationale: string
  }
  evidenceUrls: EvidenceUrl[]
}
§ 07

Outcome and next.

Production impact

From hours of account research to minutes.

Enterprise Researcher v2.0 is deployed in production at No Fluff Selling and serves client GTM pipelines for pre-call prep, SDR queue prioritization, ABM target-list construction, and inbound qualification. The conditional pathway architecture has already been validated on a live technographic-heavy client.

The next technical moves are straightforward: better offline evals for SAP and PA stages, re-ranking for very large prospect corpora, and specialized variants for other seller archetypes such as regulatory-heavy workflows.

Have a system like this to ship?

For focused AI systems architecture or production workflow work, write directly. I take on limited, non-conflicting fractional builds.

hello@chrisgarre.com

Directhello@chrisgarre.com
Cadence2 business days
EngagementsFractional · 6-12 wk
CapacitySelective · 1-2 d/wk
Set in IBM Plex Sans Condensed · IBM Plex Mono[ CG · 001 ] · © 2026 Chris Garre · Build 2026.05.20