The Cold Email System That Got You Here

When I started doing outreach, I wanted to avoid generic emails altogether. I wanted to build something that actually converted, then systemize it so it could run automatically without losing the human touch.

This page breaks down exactly how I built it: the tools, the logic, and the thought process behind the campaign that landed in your inbox.


Setting the Foundation

Before writing a single email, I built the website you're on right now.

Aside from branding, it fits more than a resume ever could and does so in an interactive way. It shows how I think, build, and solve problems.

I learned vibe coding with Claude and YouTube tutorials, practiced with a mock AI SaaS site, and then built this one in a week using VS Code, Claude, GitHub, and Vercel.

Once the site was live, the next step was directing the right kind of traffic to it.

Personal website screenshot

Defining Who to Reach

The system only works if you target the right people.

To define that precisely, I used Perplexity to shape an ideal customer profile across both of my service areas: AI evaluation and growth automation. As for accounts, I built a scoring model that ranks companies by relevance.

Each company got a weighted score based on:

  • Total and latest funding
  • Funding recency
  • Team size
  • Industry relevance

I prioritized funding recency because newer rounds usually mean they're in the middle of a growth sprint, which is the perfect time for outbound optimization.

Funding recency scoring breakdown

Companies are scored by how recently they raised funding, with the most recent rounds (0-6 months) earning the highest score of 35 points.

After running about 1,000 accounts through the system, I had a ranked list with the most promising companies at the top.

Company scoring spreadsheet

Lead Research & Enrichment

Finding leads was straightforward. After ranking the accounts, I filtered by role (e.g., for growth outreach, CTOs and Heads of Product or Engineering).

But I didn't want the emails to sound automated. Each message had to feel like it was written by someone who actually did their homework. Doing that manually for thousands of leads isn't sustainable, so this is where automation came in.

To scale the human touch, I built an automated lead enrichment system powered by Perplexity's API and a few custom Apps Scripts. It personalizes each email in three steps.

Perplexity research process
Perplexity pain point identification
Perplexity subject line generation

Step 1: Research

For each lead in the sheet, the system runs a Perplexity prompt that pulls company context from both structured data (employee count, funding info, company website, LinkedIn) and online search. It finds one notable product, feature, or update to reference in the email.

Example output:

"Saw [Company] added multi-agent AI for policy assessments. How are you testing agent accuracy and coordination in complex GRC tasks?"

At first, I tried using a single prompt to handle everything, but the results were too generic. Breaking it into three API calls gave the process cleaner logic and better context.

Research prompt formula

*The full prompt includes additional formatting rules and output constraints not shown in this snippet.

Step 2: Pain Points

The second API call builds on the first output. It identifies one or two likely pain points based on their product, growth stage, or recent activity, then crafts a short follow-up sentence that connects those insights.

Example output:

"Testing [Company's] agent coordination gets tricky with complex policy dependencies. You need checks for data context accuracy."

Step 3: Subject Line

The final API call generates a subject line that feels natural and contextual, not like typical sales clickbait. It uses the previous two outputs for context.

Example:

"[Company's] agent coordination + policy QA"

In total, each email ends up with three to four personalized sentences that read like I actually researched them (because I did, just automated).


Evaluating Perplexity API Outputs

All three Perplexity functions went through 10+ testing rounds with pattern analysis, prompt refinement, and quality benchmarking.

Early versions produced generic outputs or hallucinated company details, but iteration (testing 5 companies per round, identifying error patterns, fixing root causes) brought accuracy rates from 17% to 92%.

The final prompts include gold standard examples, domain-specific rules, and fallback logic to handle edge cases like name collisions or missing signals.

Perplexity system performance metrics

Email Infrastructure

While building this whole campaign, I was warming up two domains (one for growth outreach and one for AI eval) using Instantly.ai. Each domain runs separate campaigns so I can isolate metrics later.

Once live, I started testing one variable at a time: subject lines, openers, CTAs, and signatures. Every test inside Instantly produces data that feeds into the next iteration.

This workflow keeps evolving as I learn more. Each test makes the next one better.


Why This Matters

Most people think cold email is just about copywriting. It's not.

Volume is heavily underestimated and personalization isn't something that needs to be sacrificed when scaling outreach.

This system proves that. It:

If you got one of these emails, it wasn't random.

It was the output of this process.


I built this because I wanted to scale outreach effectively. If you want to as well, feel free to reach out.

Let's Talk