Rasul Shaikh · GTM Engineer Assessment
Ask the terminal →

Built for the LoopGTM GTM Engineer assessment

Job posts don't lie.
Everything else needs proof.

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

TheirStackClayClaygentBuiltWithProspeoFreckleSmartlead

Qualified & ready

10/10

US software companies, actively hiring eng, one verified decision-maker each. No inflated offshore flags.


Routing logic

4 branches

Funding checked before offshore. First true branch wins, every time.

10/10
Companies qualified
US, 50-500 employees, hiring eng now
4
Routing branches
funded+offshore / funded / offshore / fallback
200
Mailboxes planned
100 domains, 2 boxes each
~$1,250/mo
Infra cost
at 5,000 sends/day, ~$0.01/email

Live, not staged

Ask the terminal →
freckle workbook inspect .. 10 entries, 0 errors
clay workflows get wf_0tj7iiwg2Nd.. 4 nodes, 3 edges
smartlead campaign 3756622 .. status: DRAFTED
signal stack, 10 companies .. 1 funding / 1 offshore

Bonus · 3:12 narrated walkthrough

A narrated tour of this build.

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

Intent first. Filters second. Enrichment third.

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

Intake & filter
TheirStack → Clay

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

Enrich
BuiltWith + Claygent

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

Contact
People search waterfall

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

Route
Priority-chain formula

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

One trigger signal. Everything else stacks on top.

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.

Layer 1: the trigger signal

Open engineering roles, posted in the last 14 days. This is the only signal that gates the list at all, no open roles, no send. It answers one question, is this company actively expanding eng right now, and says nothing yet about what to write.

Layer 2: the stacked signals

Funding and offshore presence don't gate the list, they route the narrative on top of it. Checked in a fixed priority order, funding before offshore, because budget pressure sells harder than a hiring-location fact, each stacked signal narrows the email toward something specific instead of a generic "we saw you're hiring."

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

First true branch wins.

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.

If funded = Y and offshore = Y
Funding + offshore

"{{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}}."

Else if funded = Y
Funding only

"{{funding_round}} closed in {{funding_month}} usually means the eng roadmap just got more aggressive."

Else if offshore = Y
Offshore only

"Engineers already in {{offshore_region}} means distributed teams aren't a hard sell here. {{company}}'s already running one."

Else
Fallback: tech stack + role count

"{{open_role_count}} open eng roles on {{tech_stack}} reads like a real growth-hiring push, not a backfill."

Sequence · Banayan / Ferriss method

Three emails. One easy question each.

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.

StepDayJob of the email
E10Banayan structure + one easy capacity question
E2+3Second angle (stack / ramp), still a soft fork
E3+4Close with explicit reply options: later / no / send
E1 · Subject: {{company_name}} eng roles
A specific, timed signal, not a guess

"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?"

E2 · Subject: re: {{company_name}} eng roles
A different angle, still one question

"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?"

E3 · Subject: closing the loop
A clean fork, then gone

"{{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

The qualified list, unfiltered.

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.

CompanyEmployeesOpen rolesFunded 12moOffshoreDecision-makerTitle
ClearML764NNOren RechtmanVP Engineering
Optym34413NNRajeev RanjanDirector of Engineering
Opkey4417Y*NHemant K.VP of Artificial Intelligence
Orange Logic28415NY · SEARuben RibeiroVP of Engineering
interface.ai23640NNBruce KimFounder + CTO
H2O.ai38028NNTom KraljevicVP of Engineering
Inworld AI11535NNMichael ErmolenkoCTO
Sprinto4412NNPrabodh KumarVP Engineering
Abacus.AI2804NNArvind SundararajanCTO and Co-Founder
QuillBot33851NNSaurabh GoelVP of Engineering

*Opkey: Series B signal in public data. Re-check the exact close date before any live send.

Task 2 · Email infrastructure

5,000 sends a day, worked backward.

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.

Mailbox provider split (200 total)

Google Workspace
120
Microsoft 365
60
SMTP relay
20

Persona ownership (200 total)

AE 1 (camp. 1-2)
80
AE 2 (camp. 3-4)
80
Head of Sales (camp. 5)
40

Warmup

2-3 weeks before any real prospect mail. Hold ramp at 20-30/day, bounce under 3%, spam complaints under 0.1%. Cohorts of ~35-40 mailboxes/week, full 200-box capacity by week 6-7. Warmup never fully stops, ~15-20% of steady-state volume stays warmup forever.

Overload controls

Hard cap of 25/day per mailbox in the sending tool. Domain circuit breaker auto-pauses above 5% bounce or 0.3% spam complaints in a day. New campaigns ramp to ~30-40% of target volume in week 1, full by week 3.

Domains & buying

Never send from the brand root domain. Prefix (getacme.com), suffix (acmehq.com), or compound (scaleacme.com) naming, mostly .com with some .co/.io. No acme1.com, acme2.com sequencing, that's a filter fingerprint. Domains via Dynadot; mailboxes via a cold-email reseller that provisions SPF/DKIM/DMARC.
LineQtyUnit/moMonthly
Domains (Dynadot, ~$12/yr amortized)100~$1~$100
Google Workspace (reseller)120~$5~$600
Microsoft 365 (reseller)60~$4~$240
SMTP seats20~$3~$60
Sending platform (Smartlead scale tier)1~$199~$199
Deliverability monitoring1~$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

Same volume, same leads, fewer replies for a week.

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."

Ranked hypotheses

  1. Deliverability drop (spam folder): most likely for a sudden, one-week, same-volume dip.
  2. Silent DNS/auth break: SPF/DKIM/DMARC on a batch of domains.
  3. Reply-tracking bug: Smartlead/CRM webhook fails, replies arrive but don't show.
  4. Copy/merge-tag bug: blank company field or broken personalization in a subset.
  5. List quality shift: same count, worse source, usually gradual so lowest on the list.

Root-cause steps

  1. Segment the drop: all campaigns/personas, or one domain pool / one persona only?
  2. Opens vs. replies: flat opens + fewer replies points at content, both down points at placement.
  3. 10-15 manual placement tests, look at folder and render.
  4. Blacklist check every domain, re-check SPF/DKIM/DMARC, don't assume "we set it once."
  5. Change log: copy push, list-source swap, platform incident, paused sequence step.

Fix & client handling

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

Where a landing page beats a reply.

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.

What personalizes

Company name, the exact open-role count and titles, the offshore region if one exists, and the tech stack, the same 14 columns already sitting in the Clay table. No new enrichment step, just a different render target for data that already exists.

Why not in E1

A link in a cold first-touch email is a known deliverability tax, spam filters weight linked messages differently, and it also signals "campaign" over "one specific note." The page earns its spot after a reply or on a warmer channel, not before.

What it replaces

A generic "book a demo" page that resets all the context the prospect just read in the email. The landing page instead opens mid-conversation: their exact hiring signal, restated back, with the one comparison that matters for their specific offshore setup.
Live example · built for this assessment
Orange Logic / Ruben Ribeiro

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.

Open the example →

Bonus · multi-channel

Email doesn't run alone.

A single-channel sequence caps reply rate at whatever email alone can do. Two independent, non-referencing touches compound instead of just adding volume.

LinkedIn via HeyReach

A connection request goes out the same week as E1, with no mention of the email. "Following up on my email" on LinkedIn reads as automation, not personalization. Independent touches compound, referenced ones just look like the same campaign twice.

Smartlead vs. Instantly

Smartlead's mailbox rotation and warmup controls are built for a fleet this size, 200 boxes. Instantly's simpler UI wins under roughly 50 mailboxes, where fleet-level controls are overhead, not leverage. This build assumes Smartlead because of volume, not because Instantly is worse.

The sequencing rule

Email and LinkedIn share a prospect list, never a message. Voice stays independent per channel, timing is the only thing that's aligned. Cross-referencing channels is the tell that a human isn't actually running this.

Bonus · how this gets tested

Nothing here is validated yet, so here's how it would be.

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.

Step 1
Baseline before variants

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.

Step 2
One variable per test

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.

Step 3
Respect the sample size

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.

Step 4
Measure the downstream action

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.

Step 5
One operating rhythm, not two

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

The senior-bar calls, made explicit.

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.