AI-native GTM engineer

I don't manage,
I ship.

I build closed-loop revenue systems with AI agents at the core, the way engineers ship software. At Kizen I built inbound automation that moved $50M+ in pipeline on a Claude agent. In AlphaForge I built a full outbound loop that sent 25 real emails, caught a real reply, and survived a production bug I fixed live.

Run the loop on your company See the work

This page turns a company name into a first-pass GTM systems hypothesis.


01 The loop, run on your company

Type your company. What happens next is my GTM judgment, written down as a set of rules and run by two models: Perplexity researches your company's public footprint, Claude applies my playbook to that evidence, and my first-week strategy for your company appears in the box. It runs on the company, not on you: no person lookup, no enrichment, no record built.

Perplexity researches the public web. Claude writes the systems hypothesis. No cache, contact enrichment, visitor identification, outreach, or input storage by me. Both calls are key-locked and capped daily. If either fails, you get my email.


02 Work

The $50M inbound loop Kizen · first GTM engineering hire

$50M+pipeline processed
600+changes shipped in 90 days
$10.9Mburied pipeline recovered
web + events + Apollo
Claude agent resolves the company
ZoomInfo enrichment
right rep, clean contact

underneath: a 4-object CRM data model and an attribution chain that propagates source truth

Read the full build

The problem. Inbound came from three places (web forms, event lists, Apollo activity) and reps spent their day cleaning contact data instead of calling people. No system turned a raw inbound signal into a rep-ready, enriched contact automatically.

What I built. End-to-end inbound automation anchored on an AI agent (Claude Sonnet) that resolves company identity from an email domain and chains directly into ZoomInfo enrichment, then routes clean, enriched contacts to the right rep. Web inbound, event contacts (400+ event leads, a $38M+ TAM), and Apollo activity all flow through it. I designed the CRM data model from scratch across 4 core objects with bidirectional relationships and shipped 600+ documented changes in 90 days with zero onboarding.

The failure that taught me the most. Before the attribution chain existed, $10.91M in marketing-sourced pipeline sat in the CRM misattributed, invisible to the team that earned it, because the early system assumed source data would arrive clean. It never did. The fix was not cleaning records by hand, it was building inheritance: a Contact to Lead to Account to Opp attribution chain across 4 production automations with a standardized 8-value taxonomy, so the truth propagates instead of being re-entered.

Also in this system: a 4-automation bidirectional Apollo integration, 6 stage gates with a Slack bot that DMs reps their exact missing fields, and the attribution chain above.

The closed outbound loop AlphaForge · Clay's GTM engineering program

631contractors in the qualified TAM
24/25emails delivered
1real buyer reply, caught live
631-contractor qualified TAM
fit gate + score
n8n send engine
Gmail
real buyer
reply watcher
back into Clay: loop closed

"the fullest loop I've seen" (program coach)

Read the full build

The problem. A raw construction TAM is not a market. You have to separate real equipment buyers from dealers, media, and design-only firms, find a real commercial moment, and then actually send something a real company's reputation can stand behind.

What I built. A gate-first qualified TAM of 631 US heavy-civil contractors (the qualification layer rejects dealers, design-only firms, and media before anything downstream treats them as prospects), a Fit Score built on disqualification logic and public award evidence, a reusable ICP Fit Gate function that takes a plain-English ICP as input, an n8n daily permit watcher with stable dedupe, and a full outbound loop: Clay list to n8n send engine to Gmail to recipient, then the reply back through a watcher into Clay.

The failure that taught me the most. The first real reply almost slipped through. My watcher filtered case-sensitively for "Re:" and Gmail delivered "RE:", so the loop dropped it. I made the filter case-insensitive, republished, and the next poll caught it automatically. A bug found in production, fixed live. That is the difference between a loop that could theoretically work and one that actually closed. The reply came from an equipment leader at a top ENR heavy-civil contractor, who walked through exactly how his team decides rent versus own.

The ethics moment. Every draft had a value line offering an "anonymized 600-contractor study" that did not exist. I cut it before sending and replaced it with something true. "Offer value" is not a line you add to an email; it has to be true before you hit send.

Live public-award signal feeding the intake ICP fit gate verdicts on incoming events

03 How I build

The verb test

RevOps postings say manage, track, report. GTM engineering says build, deploy, ship. I am on the ship side of that line.

Bike, not Ferrari

I get the motion working end to end first on the simplest stack that runs, then improve it every week. A shipped bike beats a beautiful build that never left the garage.

Close the loop

A system is not done when the boxes connect. It is done when the failure paths are tested and a real reply comes back. I only trust a loop I have watched close.

Guardrails are the build

Rate limits, blocklists, fail-loud errors, and a human approval gate are not bolted on. They are the difference between a demo and something you can point at a real customer.