How adityamittha/auto-apply works
This repository automates a job-search lifecycle: find and filter roles, tailor application materials, submit applications, then track outcomes and contact recruiters. The documented six-portal runner coordinates portal-specific automation; sampled handlers show shared analysis, AI assistance, and application records. Separate scheduled capabilities refresh a Naukri profile, verify status, send outreach and daily reports, sync files to S3, and expose a dashboard. Some coordinator, tracker, mailer, and server wiring is documented but not sampled, so uncertain internal call edges are omitted.
Main entry points: apply-all.js Portal Coordinator · naukri-auto-apply.js Naukri Applications · linkedin-apply.js LinkedIn Applications · internshala-apply.js Internshala Applications
Components 26
Job Applications
- Portal Coordinator
apply-all.js - Naukri Applications
naukri-auto-apply.js - LinkedIn Applications
linkedin-apply.js - Internshala Applications
internshala-apply.js - Indeed Applications
indeed-apply.js - Other Portal Applications
apply-all.js - Career Portal Engine
career-page-engine.js
Resume Tailoring
- Job Analysis
tailor-engine.js - Gemini AI
gemini-ai.js - Resume Compiler
resume-compiler.js - Resume Templates
resume
Tracking And Outreach
- Application Records
applied-jobs.json - Status Tracker
status-tracker.js - Application Verifier
verify-applied-jobs.js - Naukri Profile Refresh
naukri-profile-refresh.js - Recruiter Outreach
cold-mailer.js - Daily Digest
mailer.js
Dashboard And Storage
- Dashboard API
dashboard-server.js - Dashboard UI
public/js/dashboard.js - S3 Storage Module
s3-storage.js
Other components
- Scheduled Runs
- Job Portals
- Gemini API
- Email Service
- Amazon S3
- Job Seeker
Connections 41
- Scheduled Runs → Portal Coordinator: triggers
- Scheduled Runs → Status Tracker: triggers
- Scheduled Runs → Recruiter Outreach: triggers
- Scheduled Runs → Daily Digest: triggers
- Scheduled Runs → Naukri Profile Refresh: triggers
- Portal Coordinator → Naukri Applications: dispatches
- Portal Coordinator → LinkedIn Applications: dispatches
- Portal Coordinator → Internshala Applications: dispatches
- Portal Coordinator → Indeed Applications: dispatches
- Portal Coordinator → Other Portal Applications: dispatches
- Naukri Applications → Job Portals: searches and applies
- LinkedIn Applications → Job Portals: searches and applies
- Internshala Applications → Job Portals: searches and applies
- Indeed Applications → Job Portals: searches and applies
- Naukri Applications → Job Analysis: analyzes roles
- LinkedIn Applications → Job Analysis: analyzes roles
- Internshala Applications → Job Analysis: analyzes roles
- Indeed Applications → Job Analysis: analyzes roles
- Job Analysis → Gemini AI: requests AI analysis
- Gemini AI → Gemini API: calls
- Naukri Applications → Resume Compiler: compiles resume
- LinkedIn Applications → Resume Compiler: compiles resume
- Internshala Applications → Resume Compiler: compiles resume
- Indeed Applications → Resume Compiler: compiles resume
- Resume Compiler → Resume Templates: uses templates
- Naukri Applications → Application Records: records applications
- LinkedIn Applications → Application Records: records applications
- Internshala Applications → Application Records: records applications
- Indeed Applications → Application Records: records applications
- Status Tracker → Job Portals: checks status
- Application Verifier → Job Portals: verifies submissions
- Job Seeker → Dashboard UI: views and acts
- Dashboard UI → Dashboard API: requests data
- Dashboard UI → Dashboard API: sends outreach action
- Dashboard API → Application Records: serves records
- Recruiter Outreach → Email Service: sends outreach
- Daily Digest → Email Service: sends digest
- S3 Storage Module → Amazon S3: uploads and signs links
- Daily Digest → S3 Storage Module: gets resume links
- Job Seeker → Job Portals: maintains profile
- Naukri Profile Refresh → Job Portals: refreshes profile