DEV Community

live-direct-marketing
live-direct-marketing

Posted on

I had 4 hours before an interview. My friend leaked the questions. I built the answer with Claude Code.

My friend's interview ended at 9:03 AM. Mine started at 1:00 PM.

He texted me the second he walked out: "Bro. They grilled me on inbox placement. SPF, DKIM, DMARC was the warm-up. They wanted code."

I had 3 hours and 57 minutes.

The setup

The role was at a B2B outreach company. I'd applied a week earlier with a resume that said "email infrastructure" without committing to specifics. I figured I'd wing the technical part — I've shipped cold outreach systems for years, I know the theory cold.

My friend interviewed at 8 AM his time. I was scheduled for 1 PM mine. Same panel, same hiring manager, almost certainly the same playbook.

His debrief was three bullet points:

  • Explain how you'd detect whether an email landed in inbox, spam, or Gmail's Promotions tab — without access to the recipient's mailbox.
  • Walk through a system design for measuring deliverability across 10 mailbox providers in real time.
  • Bonus: show code. Any code. They'll respect a hack over a deck.

Theory I had. Code I didn't.

The 4-hour sprint

I opened Claude Code at 9:11 AM with a coffee and a deadline.

Plan:

  1. Spin up a tiny seed-mailbox network — burner accounts at Gmail, Outlook, Yandex, Mail.ru, ProtonMail.
  2. Build an IMAP fetcher that polls each seed and classifies where the inbound email landed (inbox / spam / category tab).
  3. Wrap it in a CLI that takes a "from" address, sends a test message to every seed, and prints a placement report.

Claude Code wrote the scaffolding in about twenty minutes. NestJS + BullMQ for the queue, IMAP via imapflow, classification logic based on Gmail's X-Gm-Labels header and folder names for the other providers.

The real time went into edge cases:

  • Outlook's "Focused" vs "Other" inbox — neither is spam, but recruiters confuse them constantly.
  • Yandex returns folder names in Russian. Hardcoded fallbacks needed.
  • Some providers throttle IMAP polls aggressively. Had to add jittered retries.

By noon I had a working CLI. I sent a test from my personal Gmail to all five seeds, waited 90 seconds, and got back:
gmail.com → INBOX
outlook.com → JUNK
yandex.ru → INBOX
mail.ru → INBOX
proton.me → INBOX

Outlook eating a clean Gmail send was a useful surprise — exactly the kind of thing you'd want a tool to catch before sending 10,000 emails.

Screenshotted the output, pushed the repo to a private GitHub, ate lunch.

The interview

The first technical question was almost word-for-word what my friend warned about. I answered the theory part, then said: "I actually built a small reference implementation this morning. Want me to share my screen?"

The hiring manager paused for two seconds. "Please."

I ran a live test against their own marketing domain. Three providers came back clean, two came back spam. We spent the next twenty minutes debugging why — DMARC alignment was off on their no-reply subdomain.

I didn't pitch myself as the candidate who knew deliverability. I pitched myself as the candidate who could ship a deliverability tool between breakfast and lunch.

Offer arrived three days later. I declined for unrelated reasons, but that's a different post.

What Claude Code actually changed

The honest version: I could have written this prototype before Claude Code. It would have taken two days, not four hours, and I would have spent half of it on IMAP boilerplate I've written six times in my career.

What changed isn't capability. It's the size of the window where preparation is possible.

A four-hour gap used to be coffee and panic. Now it's a working prototype with edge cases handled. That's a different category of professional life.

I kept hacking on the CLI after the interview. It grew into a full inbox placement service — multi-tenant, hosted, with a free tier for one-off checks.

If you want to run the same test on your own sending domain, it lives here: https://check.live-direct-marketing.online. Paste a from-address, get an inbox-per-provider breakdown in about 60 seconds. No signup for single checks.

The four-hour version of this would have been embarrassing to ship publicly. The version after a few months of polish is what I would have wanted that morning.

Top comments (0)