An enterprise-grade, fully automated AI cold email system built to discover, research, and contact high-value engineering recruiters and hiring managers.
Designed to drop bounce rates, bypass spam filters, and write highly personalized outreach emails at scale.
- Dynamic Contact Discovery: Scrapes Apollo.io and GitHub Organizations to find real human engineering managers and recruiters (no more sending into
careers@voids). - AI Personalization Engine: Uses large language models (via OpenRouter) to write bespoke 120-word cold emails based on the target company's stack, recent news, and domain focus.
- Smart Schedular & Deliverability Guards: Drip-feeds emails safely to respect Gmail API limits. Automatically intercepts generic emails to preserve domain reputation.
- Reply Detection & A/B Testing: Automatically categorizes replies (Interested, Out of Office, Rejected) and A/B tests subject lines.
- Beautiful Dashboard: A Next.js 15, Tailwind-powered, dark-mode first command center to view campaign health, analytics, and upcoming follow-ups.
- Backend: Python 3.11, SQLite (WAL-mode), Pytest, Google Gmail API.
- Frontend: Next.js 15 (App Router), React, Tailwind CSS, Lucide Icons.
- AI & Integrations: OpenRouter (Claude/Llama/Mistral), Apollo.io API, GitHub REST API.
-
Clone & Setup Environment
git clone https://github.com/yourusername/ColdEmailAI.git cd ColdEmailAI pip install -r requirements.txt npm install -
Configuration Create a
.env.localfor the dashboard and aconfig.envfor the python engine. Add your OpenRouter API key and Apollo API key. Generate yourcredentials.jsonfrom the Google Cloud Console for Gmail API access. -
Run the Dashboard
npm run dev
Dashboard runs at
http://localhost:3000 -
Run the Engine
python daily_scheduler.py --preview
The codebase uses pytest for unit testing the Python backend.
pytest tests/GitHub Actions is set up for Continuous Integration (CI) on every PR.
We solved the biggest problem with cold email automation: bounce rates destroying sender reputation. This system utilizes a strict pre-flight validation gate. If a verified human target cannot be identified dynamically, the email is skipped to preserve the health of the sending domain.
MIT License