🚀 Enterprise-grade Autonomous Email Outreach System
A 24/7 autonomous email outreach and monitoring system built with a high-concurrency Go backend and a modern React + Vite frontend. Designed for high-volume campaigns with dynamic templates, inbox rotation, and intelligent reply detection.
graph TD
User((User)) -->|Manages| FE[React Frontend]
FE -->|API Calls| BE[Go Backend]
BE -->|Persistence| DB[(SQLite)]
BE -->|Job Queue| RD[(Redis)]
BE -->|Background| Worker[Email Worker]
Worker -->|SMTP| Internet[Email Servers]
Internet -->|IMAP| Worker
- ⚡ High Performance: Concurrent Go backend for efficient email processing.
- 🔄 Inbox Rotation: Distribute outgoing mail across multiple SMTP accounts to avoid rate limits.
- 📈 Real-time Analytics: Monitor campaign progress, open rates, and replies dynamically.
- 🧠 Reply Detection: Automatically stop follow-up sequences when a lead replies via IMAP monitoring.
- 📜 Templating Engine: Dynamic CSV ingestion with variables for highly personalized outreach.
- 📅 State Machine: Multi-step follow-up sequences with customizable delays.
- Core: Go 1.26+
- API Framework: Echo
- Database: SQLite (WAL Mode) with Gorm ORM
- Cache/Queue: Redis
- Mailing: SMTP for sending, IMAP for reply monitoring
- Core: React 19 + TypeScript + Vite
- Routing: TanStack Router
- Data Fetching: TanStack Query
- State Management: Zustand
- Styling: Tailwind CSS 4.0
.
├── email-agent-backend/ # Go 1.26+ REST API & background worker
│ ├── cmd/ # Entry points (API & Workers)
│ └── internal/ # Core business logic
├── email-agent-frontend/ # React + Vite dashboard
│ ├── src/features/ # Domain-specific components & logic
│ └── src/lib/ # Shared utilities & configurations
└── docker-compose.yml # Container orchestration
- Docker & Docker Compose
- Node.js 18+ (for local development)
- Go 1.26+ (for local development)
docker-compose up --buildThe dashboard will be available at http://localhost:5173 and the API at http://localhost:8080.
Refer to the individual READMEs for detailed setup instructions:
- Backend Documentation
- Frontend Documentation