DEV Community

Cover image for You're not bad at outreach. You're bad at follow-up.
Dhruvil Mistry
Dhruvil Mistry

Posted on

You're not bad at outreach. You're bad at follow-up.

[01] the silent killer

I’ve sent hundreds of cold emails.

Job applications. Founder DMs. Partnership requests. Investor intros. People I genuinely wanted to know.

And then... I forgot.

Sometimes for a few days. Sometimes for weeks. By the time I remembered, the conversation already felt stale. Sending another email felt awkward. So I didn’t.

That’s how most opportunities die. Not with rejection. With silence.

[02] it’s not a writing problem

Here’s what I used to tell myself: “Following up is easy. I’ll just do it later.”

Later never came.

Because the actual problem isn’t writing the email. Writing a follow-up takes 2 minutes.

The problem is the 20 minutes before it. Opening Gmail. Scrolling through sent. Trying to remember: did they reply? did I already follow up once? is 5 days too soon? what should I even say now?

That’s the part that kills you. The mental overhead of deciding who deserves another message.

[03] busy work that ai should own

I started to notice a pattern.

Every week I’d lose track of 3 or 4 conversations that mattered. Quietly. Without realizing it.

One week it was a founder I’d emailed about Saral AI. Another week it was a recruiter who’d said “let’s connect soon.” Another week it was a hiring manager whose JD fit exactly what I was building toward.

All of them deserved a follow-up. None of them got one.

It felt like exactly the kind of boring, repetitive, context-heavy work that AI was built to remove.

So I built Nudge.

[04] what nudge actually does

Two commands. That’s the whole setup.

pip install nudge-agent
nudge

First run asks for your Groq API key, opens Google Sign-In, done. No OAuth config. No Google Cloud project. No copying client IDs. Under a minute.

Nudge Workflow

After that: Nudge signs into your Gmail, scans your sent emails, finds conversations that deserve a follow-up, reads the entire thread for context, and writes a draft that sounds like you.

Nudge TUI Interface

Nothing gets sent automatically. Every draft goes through you first.

I wanted AI to remove the boring part, not the decision-making.

[05] the filtering problem nobody talks about

The hardest part of building Nudge wasn’t the drafting.

It was the filtering.

Most conversations shouldn’t get another email. Sending a follow-up to someone who already replied isn’t a follow-up, it’s noise. Following up on a 1-day-old email isn’t persistence, it’s annoying.

So Nudge skips conversations where they’ve already replied, where the email is under 3 days old, or where you’ve already followed up more than once.

That alone removes most of the clutter. What’s left is the small set of conversations that are actually worth a nudge.

[06] one keypress changes the tone

Not every follow-up should sound the same.

Sometimes you want a simple check-in. “Hey, just wanted to see if you had a chance to look at this.”

Sometimes you want to add value. Share something useful. Reopen the conversation with a reason.

Sometimes it’s time for a polite breakup email. “No worries if this isn’t the right time, I’ll leave it here.”

Nudge lets you pick the tone with one keypress. The draft adjusts accordingly.

[07] everything stays local

This matters to me.

Your config lives on your machine. Your history lives on your machine. Your drafts live on your machine.

Nothing gets sent to a server. Nothing gets stored somewhere I can’t see.

I’m sending cold emails about jobs, products I’m building, conversations I care about. I’m not handing that data to a third-party service.

Nudge is fully local by design.

[08] the week i actually used it

I’ve been running Nudge on my own outreach for the past week.

The feeling is different.

I no longer open Gmail on Sunday morning dreading the scroll. I run one command. It tells me who’s worth following up with. It writes the draft. I review it, tweak a line or two, approve it.

Done.

I followed up with a founder I’d emailed 9 days ago about a collab. He replied within the hour. That conversation had been sitting dead in my sent folder.

One command changed that.

[09] what’s next

This is v1. It’s minimal. It does one thing well.

I've also shipped a MCP server for it so you can run Nudge directly from Claude Code, Cursor, or Codex.

“Follow up with everyone who hasn’t replied in the last 10 days.”

And your agent prepares every draft for you in one shot.

That’s where this is going.

[10] it’s open source, try it

Nudge is completely open source.

Nudge Github Page

If you send emails for recruiting, sales, networking, fundraising, or job applications, this is for you.

The best features have come from scratching my own itch. I’m sure there are plenty more worth scratching. If you try it and hit a rough edge, tell me.

[11] if you’re reading this

Right now I’m building Nudge and open for AI Engineer roles, if you’re hiring or just want to connect with me. Just DM me, I reply fast ;)

I’m 21, in Mumbai, and just getting started.

If you feel like you’re bad at follow-up: you’re not.

You just don’t have a system. The work isn’t the writing, it’s the remembering. Let something else do the remembering.

Go build.

Top comments (0)