Bulk Applicant Dispatcher

Bulk Applicant Dispatcher

Leader posted 3 min read

Bulk Applicant Dispatcher

A Privacy-First MERN Stack Application for Structured Job Applications

Applying to jobs as a fresher can feel repetitive, overwhelming, and unstructured.

You find dozens of openings.
You copy-paste emails.
You attach resumes repeatedly.
You try to track who you’ve contacted.
You worry about accidentally emailing the same recruiter twice.

After experiencing this chaos myself, I decided to build something structured.

Introducing Bulk Applicant Dispatcher — a locally hosted MERN stack application designed to help job seekers send multiple applications efficiently, professionally, and safely.

This is not a marketing spam tool.
This is a structured, privacy-first job application system.


The Problem

Most job seekers:

  • Send applications manually
  • Struggle to track recruiter responses
  • Risk duplicate emailing
  • Use third-party tools that store sensitive data externally

Existing bulk email tools are usually:

  • Designed for marketing campaigns
  • Cloud-based
  • Not privacy-focused
  • Lacking cooldown safeguards

I wanted a system that:

  • Runs entirely on localhost
  • Uses my own Gmail securely
  • Enforces responsible email scheduling
  • Keeps all personal data under my control

Core Philosophy: Privacy First

Bulk Applicant Dispatcher runs 100% locally.

  • No external server
  • No cloud database
  • No third-party email relay
  • No external storage of resumes or contacts

Everything — templates, company lists, history logs — is stored in a local MongoDB instance.

Your data never leaves your machine.


Key Features


Smart Cooldown Mechanism (15 Days)

This is the most important feature.

The system:

  • Tracks every dispatched email
  • Stores recipient email + timestamp
  • Prevents sending duplicate applications within 15 days
  • Allows a Force Send override when necessary

Cooldown Logic Example

if (lastEmailDate && daysSinceLastEmail < 15 && !forceSend) {
  skipEmail();
} else {
  sendEmail();
}

This ensures:

  • Professional outreach
  • Reduced spam risk
  • Safer Gmail usage
  • Controlled automation

Editable Plain-Text Templates

Instead of copying from Word documents:

  • Write professional cover letters directly in the app
  • Save multiple template variations
  • Easily switch between them
  • Use structured profile data for personalization

The app reads user details from a local profile.json file:

{
  "name": "Your Full Name",
  "my_place": "Your City, Country",
  "phone_no": "+91 1234567890",
  "my_email": "*Emails are not allowed*"
}

Templates dynamically populate this data during dispatch.

No HTML required. Just clean, readable English.


Built-In Contact Manager

Managing contacts in spreadsheets becomes messy quickly.

This system allows:

  • Manual company entry via UI
  • Bulk import using JSON
  • Easy editing and deletion
  • Structured storage inside MongoDB

As companies are added, a companies.json file is automatically generated inside the server directory.


Dashboard & Application Tracking

The dashboard transforms job hunting into a measurable workflow.

It provides:

  • Total applications sent
  • Pending contacts
  • Total companies added
  • Full application history
  • Timestamped logs

Now your job search becomes structured instead of chaotic.


Force Sending Override

Sometimes urgency matters.

The app allows:

  • Force sending to a specific recruiter
  • Force sending an entire batch
  • Bypassing cooldown when required

Automation — with control.


Technology Stack

Frontend

  • React (v19)
  • Vite

Backend

  • Node.js
  • Express.js

Handles:

  • Email dispatch logic
  • Cooldown validation
  • API routing
  • Template processing
  • Frontend-backend communication

Email Service — Nodemailer

  • Gmail SMTP connection
  • Secure authentication via App Password
  • Resume attachment
  • Bulk email dispatch

Uses Google App Password authentication (not your regular Gmail password).


Database — MongoDB & Mongoose

Local database storing:

  • Contact list
  • Templates
  • Email history
  • Cooldown metadata
  • Dispatch logs

MongoDB provides flexible, structured storage for scalable tracking.


⚙ Environment Configuration

Inside server/.env:

EMAIL_USER=*Emails are not allowed*
EMAIL_PASS=your_gmail_app_password
MONGO_URI=mongodb://localhost:27017/bulk_email_sender
PORT=3000
resumePath=your_resume_name.pdf

Important: Gmail App Password Setup

You must generate an App Password:

  1. Go to Google Account → Security
  2. Enable 2-Step Verification
  3. Generate App Password
  4. Paste the 16-character key into .env

⚠ Never use your actual Gmail password.


Usage Flow

  1. Add contacts manually or import JSON
  2. Edit or create email templates
  3. Place your resume inside server/resumes/
  4. Click Start Run
  5. System checks cooldown
  6. Eligible contacts receive emails
  7. History updates automatically

Everything runs locally.


What This Project Demonstrates

This project goes beyond CRUD operations.

It demonstrates:

  • SMTP automation
  • Cooldown / rate-limiting logic
  • Secure environment configuration
  • Structured MERN architecture
  • Privacy-first system design
  • Real-world application tracking
  • Responsible automation practices

Responsible Usage Notice

This tool is strictly for ethical, professional job applications.

It is not intended for spam, unsolicited marketing, or misuse.

The cooldown system exists to promote respectful communication and protect both users and recruiters.


About the Author

Adithyan G

Portfolio:
https://adithyan-phi.vercel.app/


More Posts

Sovereign Intelligence: The Complete 25,000 Word Blueprint (Download)

Pocket Portfolioverified - Apr 1

Architecting a Local-First Hybrid RAG for Finance

Pocket Portfolioverified - Feb 25

The Privacy Gap: Why sending financial ledgers to OpenAI is broken

Pocket Portfolioverified - Feb 23

I’m a Senior Dev and I’ve Forgotten How to Think Without a Prompt

Karol Modelskiverified - Mar 19

How I Built a React Portfolio in 7 Days That Landed ₹1.2L in Freelance Work

Dharanidharan - Feb 9
chevron_left

Related Jobs

View all jobs →

Commenters (This Week)

2 comments
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!