Built for the LoopGTM GTM Engineer assessment
Most candidates would hand you a written case study. This one runs: a live Clay workflow, a live Smartlead campaign, a live Freckle pull, queryable right now. Most outbound bases its pitch on firmographics that go stale within a quarter. This workflow keys off headcount that's moving right now: open engineering reqs. It only escalates a claim, funding, offshore presence, when there's a dated source behind it. Ten qualified companies, a four-branch routing chain, and an infra plan built to actually survive 5,000 sends a day.
Stack used in this build
Qualified & ready
US software companies, actively hiring eng, one verified decision-maker each. No inflated offshore flags.
Routing logic
Funding checked before offshore. First true branch wins, every time.
Live, not staged
Ask the terminal →Bonus · 3:12 narrated walkthrough
Neural voice narration (MiniMax) over the real screens: the workflow, the actual repo, the live Freckle CLI pull, the real Clay workflow and Smartlead campaign, and the ABM page. The required Loom still gets recorded separately, in my own voice, per Loop's brief. This is a bonus asset only.
Task 1 · Nearshoring hiring signal
Job posts are the timing signal, not firmographics alone. A company that fits on paper but isn't hiring eng right now is a bad-timed pitch. The exclusion check runs on every row so the client, a nearshoring firm, never pitches a company that competes with it.
Stage 1
US companies with an open Software Engineer or Software Developer post in the last 14 days. Keep 50-500 employees, US HQ, software/tech. Claygent reads the homepage to exclude staffing, nearshoring, dev-shop, or consulting firms.
Stage 2
Tech stack from BuiltWith plus job-description text. Multi-role hiring as Y-{count}. Funding in the last 12 months from a dated Claygent search, never inferred from an old stage label. Offshore checked strictly against LatAm, SEA, or Eastern Europe.
Stage 3
One decision-maker per company: CTO > VP Eng > Head of Eng > Director of Eng. Work email through a five-provider waterfall (Prospeo, FindyMail, Icypeas, Apollo, Hunter), then verified before use.
Stage 4
Email 1 composes through a four-branch chain below. Every row lands on a real personalization line, funding, offshore, or tech stack, never an empty merge field.
Concept
Timing and narrative are two different jobs, and conflating them is why most outbound either fires at the wrong moment or says nothing specific. This workflow keeps them separate: one signal decides when and who, a second layer of signals, checked in priority order, decides what the email actually says.
Honest on this batch: of the 10 real companies, 1 stacked funding (Opkey), 1 stacked offshore (Orange Logic), 0 stacked both, and 8 fell through to the tech-stack plus role-count fallback, still personalized, just off the trigger signal alone. The priority order runs on every row regardless, it just hasn't hit a funding-and-offshore double yet in this sample.
Email 1 · secondary intent
Never stack more than two signals in one line, three reads like a merge-field dump. Funding is checked before offshore: budget pressure sells harder than a hiring-location fact.
"{{funding_round}} closed in {{funding_month}}, and engineers already sit in {{offshore_region}}. Scaling eng and distributed hiring clearly aren't new ideas at {{company}}."
"{{funding_round}} closed in {{funding_month}} usually means the eng roadmap just got more aggressive."
"Engineers already in {{offshore_region}} means distributed teams aren't a hard sell here. {{company}}'s already running one."
"{{open_role_count}} open eng roles on {{tech_stack}} reads like a real growth-hiring push, not a backfill."
Sequence · Banayan / Ferriss method
Busy-line → who you are → one specific easy question → low-pressure close. Research is verifiable, and the call is never the only ask. Max two personalization signals in one line.
| Step | Day | Job of the email |
|---|---|---|
| E1 | 0 | Banayan structure + one easy capacity question |
| E2 | +3 | Second angle (stack / ramp), still a soft fork |
| E3 | +4 | Close with explicit reply options: later / no / send |
"Saw {{company}} has {{open_role_count}} open engineering seats right now, including {{sample_title}}. I run LatAm engineering pods for US product teams... One question: when you're adding capacity this quarter, is that US-only, or does a distributed pod ever enter the conversation?"
"Most eng leaders aren't short on applicants, they're short on senior people who can ship on {{tech_stack}} without a three-month ramp... would a small LatAm pod on your hours be worth testing alongside US hiring, or is that genuinely off the table right now?"
"{{open_role_count}} open eng seats is usually the moment a distributed pod either clicks or clearly doesn't. Reply 'later' if the timing's off. Reply 'no' and I'm out of your inbox. Reply 'send' for the half-page version of how the pods work."
Proof
All ten rows: US HQ, 50-500 employees, software product companies, active SWE hiring, and one verified decision-maker each. Offshore reads Y only for LatAm, SEA, or Eastern Europe, India does not count under the brief.
| Company | Employees | Open roles | Funded 12mo | Offshore | Decision-maker | Title |
|---|---|---|---|---|---|---|
| ClearML | 76 | 4 | N | N | Oren Rechtman | VP Engineering |
| Optym | 344 | 13 | N | N | Rajeev Ranjan | Director of Engineering |
| Opkey | 441 | 7 | Y* | N | Hemant K. | VP of Artificial Intelligence |
| Orange Logic | 284 | 15 | N | Y · SEA | Ruben Ribeiro | VP of Engineering |
| interface.ai | 236 | 40 | N | N | Bruce Kim | Founder + CTO |
| H2O.ai | 380 | 28 | N | N | Tom Kraljevic | VP of Engineering |
| Inworld AI | 115 | 35 | N | N | Michael Ermolenko | CTO |
| Sprinto | 441 | 2 | N | N | Prabodh Kumar | VP Engineering |
| Abacus.AI | 280 | 4 | N | N | Arvind Sundararajan | CTO and Co-Founder |
| QuillBot | 338 | 51 | N | N | Saurabh Goel | VP of Engineering |
*Opkey: Series B signal in public data. Re-check the exact close date before any live send.
Task 2 · Email infrastructure
25 safe sends per mailbox once warmed. 5,000 ÷ 25 = 200 mailboxes. Two per domain so one blacklist hit costs two identities, not four. 200 ÷ 2 = 100 domains. Never send from the brand root domain.
| Line | Qty | Unit/mo | Monthly |
|---|---|---|---|
| Domains (Dynadot, ~$12/yr amortized) | 100 | ~$1 | ~$100 |
| Google Workspace (reseller) | 120 | ~$5 | ~$600 |
| Microsoft 365 (reseller) | 60 | ~$4 | ~$240 |
| SMTP seats | 20 | ~$3 | ~$60 |
| Sending platform (Smartlead scale tier) | 1 | ~$199 | ~$199 |
| Deliverability monitoring | 1 | ~$50 | ~$50 |
| Total | ~$1,250/mo |
At full volume (~110k sends/month on 22 send days): about $0.01 per email. Confirm reseller quotes before the client signs, rates move.
The crisis
Baseline: 3.5% reply rate, 45% of replies positive. First check that same morning: inbox placement across a sample of the 100 domains. Do not wait a week "watching."
If deliverability: pause the bad cohort, cut it ~50%, fix or re-warm, re-test placement before returning to full volume. If tracking/merge tags: same-day fix, manual QA send, reopen the pool.
Flag the same day the pattern is real, don't wait for them to notice pipeline softness. Lead with the diagnostic trail, not "we're on it." Give a concrete recovery path (e.g. 3-5 day re-warm, reply volume back toward baseline in 7-10 days after clean placement) and add permanent daily placement + blacklist monitoring.
Bonus · beyond the brief
Not part of Loop's ask, added because the same enrichment data that powers Email 1 is enough to build a real 1:1 landing page, not a generic homepage. It's deliberately kept out of the cold email itself, first-touch links hurt deliverability, and used instead for warmer channels: a LinkedIn follow-up, retargeting, or the "send" reply in E3.
The offshore_only branch, rendered as a landing page instead of an email line. Same data, same honesty about what Orange Logic already has running in Vietnam and Indonesia.
Bonus · multi-channel
A single-channel sequence caps reply rate at whatever email alone can do. Two independent, non-referencing touches compound instead of just adding volume.
Bonus · how this gets tested
Every number on this page is a projection built from public data and standard deliverability math, not a live campaign result. This is the test plan that turns projection into measurement, not a claim that it's already been measured.
Run the fallback-branch copy unchanged across all 10 rows for one full week before testing anything. Without a baseline, "improvement" is just noise with a story attached.
Headline framing on the ABM page, specific-signal vs. generic value prop, tests alone, never bundled with a CTA-copy change. Bundled tests can't tell you which change actually moved the number.
Ten companies can't reach significance on their own. The real test runs across every future company that hits a given routing branch, tracked by routing_path, not compared one-off.
Click-through from the E3 "send" reply to the landing page to the reply-CTA, not open rate. Open rate is a vanity number at this list size.
Reviewed on the same weekly cadence as the deliverability monitoring in Task 2, one shared habit instead of a separate CRO process nobody keeps up with.
Accuracy notes
On the tooling
Clay, Freckle, and Smartlead are private workspace tools, their links don't resolve for anyone outside that workspace. Rather than ship dead buttons, every number and routing rule those tools produced is embedded directly on this page. The Clay template and Freckle table ship as part of the actual submission.