A premium, bulk email campaign tool for job hunters. Send your resume, customize every message, and manage your SMTP connections all from a beautiful, glassmorphic dashboard.
- π Platinum UI: A modern, glassmorphic dark-theme dashboard.
- π οΈ Flexible Authentication: Switch between your .env defaults or custom SMTP credentials on-the-fly.
- π§© Custom Variables: Define your own placeholders (
{{GREETING}},{{LINKEDIN}}, etc.) and populate them across all emails. - π Smart Scheduler: Schedule your campaigns to launch at the perfect time.
- π Dynamic Preview: Live preview how your email looks for different recipients before pushing the button.
- π Structural Alignment: Clean, organized folder structure for better maintainability.
- π· OCR Support: Upload images of address lists, and they'll be automatically parsed using Tesseract.js.
- π Live PDF Preview: Instantly view your uploaded resume in the dashboard for visual verification.
- ποΈ Tabbed Workflow: Separate "Campaign Setup" and "Message Content" tabs for a more focused, scalable experience.
- π Optional Attachments: Send emails with or without a resume attachment.
- π Platinum Toasts: Modern, glassmorphic notifications for success, error, and info updates.
/
src/
core/ # Shared utilities (CSV, templates, sleep)
services/ # Business logic (Mailer & Scheduler)
controllers/ # Express request handlers
routes/ # API routing
middleware/ # Multer & Upload handling
app.js # Express initialization
server.js # Web server entry
cli.js # Command-line entry
public/ # Frontend assets (Glassmorphic UI)
data/
defaults/ # Templates & default recipient lists
scheduled-jobs/ # Persistent job storage
uploads/ # Temporary storage for uploads
attachments/ # Default resume location
.env # Your configuration
npm installFill your credentials and default paths in .env:
SMTP_USER&SMTP_PASS(Use Gmail App Password)FROM_EMAIL(Your email)EMAIL_SUBJECT(Default subject)
Start the premium web interface:
npm run webVisit: http://localhost:3000
Still want to use the terminal? We've got you covered:
# Test run (no emails sent)
npm run send:test
# Live campaign
npm run send- Placeholders: Standard ones are
{{HR_NAME}}and{{COMPANY}}. Use the UI to add as many as you want! - Throttling: The default delay is
2500ms. AdjustTHROTTLE_MSin.envto stay safe with your provider. - OCR: If you have a screenshot of recruiters' emails, just drag and drop the image into the recipients box.
Stay persistent, stay professional. Good luck with your job hunt!