The stack.
Encyclopedia content elsewhere on the site uses category-level language ("the workflow orchestrator," "the email sender") on purpose — tools change, the architecture doesn't. This page is where the architecture meets the bill of materials. No ranking, no scoring, no "best in class" claims. Just what I use and why.
- layers
- 07
- entries
- 39
- scope
- production builds
Orchestration
03 entries-
Self-hosted workflow orchestrator. The "code node" runs raw JavaScript or Python, which makes it the only orchestrator I trust for non-trivial routing. Self-hosting matters for compliance.
-
Visual orchestrator for routing-heavy workflows where I don't need raw code. Fast to ship, easy to hand off.
-
Integration count matters more than routing complexity. Falls down at scale; use it when scope is bounded.
Data + enrichment
07 entries-
The IDE for prospect data. Waterfall enrichment across dozens of providers, custom variables, agent-driven research per record. Sits in front of every outbound build I ship.
-
Primary contact data provider in the enrichment waterfall. Good coverage on common ICPs; pair with Prospeo for higher hit rate.
-
Second-stage enrichment provider. Fills the gap where Apollo misses. Waterfall pattern (Apollo → Prospeo → next) pushes hit rate from ~40% to 80%+.
-
Intent signal source for ABM programs. Best when paired with first-party intent (product events, content engagement) rather than used alone.
-
De-anonymization on the inbound surface. Surfaces accounts that visited the site without filling a form.
-
Web-scraping infrastructure for signal pipelines (job-req feeds, news, public filings). Production scrapers, not one-off scripts.
- LinkedIn Sales Navigator
The canonical professional-graph source. Used inside Clay workflows and inside reading-heavy research agents.
Intelligence (LLMs + retrieval)
06 entries-
Primary LLM for production agents. Strong instruction-following, schema-validated outputs, long-context retrieval pairing. The Claude Agent SDK is the reasoning-loop primitive I default to.
-
Secondary LLM. Used for specific tasks (vision, structured outputs in older agents).
-
LLM application framework. Useful for prompt management and chain composition.
-
Reasoning-loop primitive. Where I build multi-step agents with state, retries, and conditional routing.
-
Open protocol for connecting agents to tools and data sources. Used for cross-vendor integration.
- Custom RAG retrievers
Built per use case over company news, press releases, public filings, prior brand content, product events. Off-the-shelf retrievers are rarely fit-for-purpose; the retriever is usually the highest-leverage piece of the agent.
Activation (outbound, ads, CRM)
09 entries-
Cold-email infrastructure. Mailbox rotation, domain warm-up, deliverability monitoring. The category-leader for high-volume outbound that doesn't burn the domain.
-
LinkedIn outreach automation. Scales DM cadences safely.
- Outreach.io
Enterprise sales engagement platform. Manage it where the customer already runs it; rarely my first choice for new builds.
-
CRM and source-of-truth for revenue data when the customer is already on it. Operated via REST API in agentic workflows.
-
CRM for SMB / mid-market customers. Native automation is more accessible than Salesforce; less powerful as an API target.
-
API-first CRM for AI-native startups. Custom objects without admin overhead; designed for high-velocity data ingestion.
- LinkedIn Ads
Primary B2B paid channel. Account-targeted, intent-paired.
- Meta Ads
Retargeting and broad-reach social.
- Google Ads
Bottom-of-funnel intent capture. Expensive and competitive; high-EV when paired with first-party data via Enhanced Conversions.
Analytics + tracking
06 entries-
Web analytics. Site-side metrics, referral tracking, AI-source attribution.
-
B2B revenue attribution. Full-funnel from anon visit through closed-won, with the de-anonymization layer.
-
Keyword research, AI Overview tracking, competitive content analysis.
-
Backlink graph, content explorer, ranking history.
-
Product analytics on this site. Self-hostable; pairs with the rest of the stack philosophically.
-
Dashboarding for cross-source reporting.
Deployment + observability
04 entries-
Serverless runtime for event-driven agents and cron-scheduled jobs. Production default for long-tail workloads.
-
Python-first runtime for webhook-triggered and long-running agentic workloads. Faster iteration than Lambda for prototypes.
-
Hosting for stateful Python services that need a long-lived process (scoring microservices, retriever endpoints).
-
LLM observability. Every production agent emits traces; failure debugging would not be possible without it.