Email engine
10%
reply rate in my best segment.
Futured had no outbound, and no one knew which channel brought deals.
25 campaigns in 3 countries, a HubSpot schema I designed (4 custom properties, 11 outreach states, an 8-stage pipeline), a reply poller that files most replies into HubSpot without me, and a dashboard built straight from the CRM.
How it works
- Verify and segmentHunter, MX check, role rankingFrom: a lead sheet or Apollo: companies and contacts
- Collision gateno clients, no live threads
- Draft the sequence · ClaudeClaude Code drafts, I approveFrom: approved references, public ones only
- Test send, then my go · a person decidesa draft goes live only on my go
- Send from two mailboxescapped at 50–60 emails a dayTo: sent via Instantly, from two warmed-up domains
- Classify and file repliesa deal only if a human wroteFrom: Instantly replies, polled on a scheduleTo: HubSpot and a daily summary to me
What broke and what I changed
An empty variable went out in 510 emails.
A placeholder in the template did not match the field name in the data, so the company name was missing. Test sends looked fine. Since then I check the first email that actually went out, not the test one.
An autoresponder created a fake deal.
Out-of-office notes and automatic confirmations did the same. The poller now recognises automatic replies by their headers, and a deal is created only with positive proof that a human wrote.
The sending tool stopped being the record of who I had written to.
It caps how many leads it holds, so I deleted the leads of finished campaigns, history included. The record that matters lives in HubSpot, where every reply and outreach state is filed.
Abroad, custom app development didn’t land.
The numbers gave no reason to keep going, so I stopped both markets.
Guardrails
Every campaign starts as a draft and goes live only on my go, after a test send.
Claude drafts the sequences from approved references only, and I approve the texts.
A reply from anyone at a company stops the sequence for the whole company.
Risky addresses are not mailed, and every address passes a verification and quality gate first.
No AI decides anything while the engine runs.
Rules in code classify the replies. Claude Code built the engine and drafts the texts, and I approve them.
Deliverability is checked several ways.
Authentication reports, bounces, and the mailboxes themselves, spam folder included.
Numbers
- 496Czech companies
- 50human replies
- 26interested or asking
- 4meetings
- 1paid project
- The Czech app segment, from contacted to paid. The first paid project from my email sequences.
- 25
- campaigns in 3 countries
- 5,200+
- emails sent. About 98% SPF and DKIM pass across 348 DMARC reports, 1.5% bounced, no replies found in spam
- 4 · 11 · 8
- custom properties, outreach states and pipeline stages in the HubSpot schema
- ~180 → ~960
- outbound messages a month: by hand until Feb 2026, with my engine from Mar 2026
- ~11% → ~3.5%
- replies per message. Most of the new volume went into market tests, and most of those didn’t work
- Most
- replies are filed into HubSpot without me. I read the rest
Today the engine runs on my laptop. The next step is a server.