
Agrovet Emailer — Email Campaign Automation for B2B
Role
Full cycle: from idea and architecture to development and deployment.
Tech
Backend: Node.js + Express, BullMQ (task queue), Redis (sessions + queue), SQLite (templates, campaigns, outreach), Gmail API via OAuth 2.0. Frontend: React + Vite, SSE for real-time progress. Deploy: Docker Compose, Nginx, Let's Encrypt, GitHub Actions CI/CD.
Key features
- 01Bulk replies to inbound emails
- 02Cold outreach
- 03Built-in anti-spam
- 04Campaign tracking
- 05Monitoring
Problem
Managers spend hours on manual client replies and cold outreach. Gmail isn't designed for bulk operations: no variable templates, no queues, no rate control. The result — slow, error-prone, spam-filtered, lost leads.
Audience
| Role | Scenario |
|---|---|
| Sales manager | Cold outreach with proposals to suppliers/clients with attachments |
| Account manager | Bulk replies to inbound inquiries using templates |
| Department head | Campaign control: how many sent, how many failed, success rate |
| Marketer | Launching outreach campaigns with company name personalization |
Primary profile — B2B companies with a steady stream of inbound inquiries and active outreach. No technical skills required: everything runs in the browser.
What's different
| Manual / Gmail | Agrovet Emailer |
|---|---|
| Copy-paste template into each email | Variable templates, batch sending |
| Forget rate limits — land in spam | Built-in delays and daily limits |
| No history: who got it, who didn't | Full tracking with retries (up to 3 attempts) |
| Attachments — manually per email | One file for the whole campaign, attached automatically |
| No CC — forward to colleagues manually | CC to team enabled with one toggle |
Unlike heavy platforms (Mailchimp, SendPulse) — works through your Gmail, no domain verification required, deploys in 10 minutes.
Screenshots
Customization
- 01Templates — text, variables (`{{fromName}}`, `{{subject}}`, `{{companyName}}`), markdown links
- 02Timing — delay between emails (0.5–10 sec), send limits
- 03Post-send behavior — mark as read / leave unread
- 04Attachments — PNG, PDF up to 25 MB, default attachment for the whole campaign
- 05Branding — colors, logo via CSS variables
- 06Infrastructure — ports, domain, OAuth credentials, Redis URL — all via `.env`
Need something like this?
Tell me about the task — I'll suggest an approach, pick a stack and scope it out.