deepreach
v0.1.2
Published
AI-powered cold outreach for job seekers. Find companies, discover contacts, and generate personalized emails from the command line.
Maintainers
Readme
deepreach
AI-powered cold outreach for job seekers. Find companies, discover contacts, and generate personalized emails — all from the command line.
Built on LangGraph with Claude, Hunter.io, and Tavily.
Getting Started
1. Get your API keys
| Key | What it does | Get it here |
|-----|-------------|-------------|
| ANTHROPIC_API_KEY | Powers the AI (Claude) | console.anthropic.com |
| HUNTER_API_KEY | Finds email addresses at companies | hunter.io |
| TAVILY_API_KEY | Web search for company/contact research | app.tavily.com |
2. Initialize and run
npx deepreach # one-time setup (profile, resume, API keys)
npx deepreach run # find companies, contacts, and draft emails
npx deepreach send run0001 # review and send the draftsThe setup wizard walks you through your profile, target roles/industries, resume, and API keys. Everything is saved to a .deepreach/ directory in your workspace.
Commands
| Command | Description |
|---------|-------------|
| deepreach | Interactive setup wizard (same as deepreach init) |
| deepreach run | Find companies, discover contacts, draft emails |
| deepreach send <run-id> | Send emails from a previous run |
| deepreach edit <target> | Edit config (profile, preferences, resume, env) |
Run any command with --help for all available options.
How It Works
- Finds companies matching your preferences via web search
- Shows you the list for approval (you can reject and give feedback)
- Processes each company in parallel — researches the company, finds contacts via Hunter.io, and drafts personalized emails using your resume and their background
- Saves drafts to
runs/<run-id>/drafts.jsonfor review before sending
Previously contacted companies are tracked in storage/contacted.json and automatically skipped.
Gmail Setup (for sending)
Only needed if you want to send emails with deepreach send.
- Enable 2-Step Verification on your Google Account
- Generate an App Password at myaccount.google.com/apppasswords
- Add
GMAIL_USERandGMAIL_APP_PASSWORDvianpx deepreach edit env
Workspace Structure
my-outreach/
├── .deepreach/ # config (created by init)
│ ├── profile.json
│ ├── preferences.json
│ └── resume/
│ ├── resume.pdf # attached to emails
│ └── resume.md # AI reads this for personalization
├── .env # API keys (gitignored)
├── runs/ # one folder per run
│ └── run0001/
│ ├── config.json
│ ├── companies.json
│ ├── contacts/
│ └── drafts.json
└── storage/ # persistent across runs
├── contacted.json
└── suppression_list.jsonRequirements
- Node.js >= 18
- API keys: Anthropic, Hunter.io, Tavily
- Gmail App Password (only for sending)
License
MIT
