An Isolated AI Agent Suite & Automation Workspace for Smart Job Hunting, Resume & ATS Evaluation, Preferences-Guided Multi-Country Scraping, and Direct Gmail Auto-Apply.
π₯οΈ Auto-Apply AI β Sleek Dark-Grid Workspace Interface with Coral-Red Glow Accents & Real-Time Agent Automation
- Overview
- Key Features
- System Architecture
- Tech Stack
- Repository Structure
- Getting Started
- Environment Variables
- API Documentation
- License
Auto-Apply AI is an intelligent, autonomous multi-agent automation platform designed to transform modern job hunting into an efficient, hands-free workflow. Operating as an isolated AI agent workspace, it takes over the tedious tasks of editing resumes, searching across multiple job portals, and writing repetitive customized emails.
Instead of manual applications, Auto-Apply AI empowers candidates with:
- Intelligent PDF & Word (
.docx) Parsing & ATS Grading: Natively extracts competencies, work histories, and executive summaries, scoring resumes against modern Applicant Tracking System (ATS) guidelines with interactive formatting feedback. - Preferences-Guided Opportunity Search: Synthesizes your specific target roles, experience levels, remote preferences, and resume skills to execute hyper-targeted scans across up to 10 destination countries simultaneously (e.g., πΊπΈ US, π¨π¦ Canada, π¬π§ UK, π©πͺ Germany, π¦πͺ UAE).
- LLM Matching Engine & AI Cover Letters: Dynamically evaluates opportunity compatibility using customized AI prompting, generating highly persuasive, tailored 3-paragraph cover letters for matching positions.
- Multi-Model LLM Vault (Offline & Cloud): Fully compatible with 100% free local offline models (Ollama / LM Studio), alongside secure integration with leading cloud providers (OpenAI, Google Gemini, Groq, DeepSeek, and OpenRouter).
- Direct Gmail Auto-Apply & Proofs Hub: Authenticates securely via Google OAuth2 or Gmail App Passwords (SMTP) to dispatch custom applications directly to hiring managers, logging verifiable message proofs straight in your Gmail "Sent" folder.
- One-Command Launcher: Effortlessly initialize both backend servers, frontend dashboards, and dependencies with a simple
python start.pycommand.
- No-C-Dependency Processing: Natively parses both
.pdfand Word.docxdocuments using Python's clean structural extractors. - Deep Profile Breakdown: Automatically extracts executive summaries, technical skill arrays, employment experience tiers, and academic credentials.
- Real-Time ATS Auditor: Evaluates formatting density, bullet point action verbs (e.g., Orchestrated, Optimized), section structure, and contact information availability.
- Resilient Fallback Parsing: Seamlessly falls back to heuristic tech-stack extraction if an external LLM key is offline or out of quota.
- Live Agent Feed: Experience a responsive terminal-style log feed inside your dashboard that outputs real-time AI reasoning, skill extractions, and matcher evaluations.
- Dark Grid & Coral-Red Aesthetic: Designed with state-of-the-art glassmorphic overlays, harmonious dark color palettes, and interactive micro-animations.
- Target Country Multi-Selection: Select up to 10 target countries simultaneously via an interactive autocomplete dropdown with custom tag badges (
β Country β). - Flexible Opportunity Filters: Search not only full-time roles, but also internships, scholarships, and hackathons with customizable salary bands and remote filters (
Fully Remote,Hybrid,On-site).
- Free Local LLMs: Built-in, zero-config support for local Ollama and LM Studio endpoints (
http://localhost:11434/v1), keeping your private career data 100% offline and free. - Cloud Providers Support: Connect seamlessly to OpenAI (
gpt-4o-mini), Groq (llama-3.3-70b-versatile), Google Gemini (gemini-2.5-flash), DeepSeek, and OpenRouter. - Secure Secret Masking: All keys stored within the isolated workspace vault are encrypted and visually masked in the UI.
- Dual Authentication: Establish connections either through Google OAuth2 or an encrypted 16-character Gmail App Password (SMTP).
- History & Proofs Hub: Track all delivered applications with time-period filtering (Today / 24 Hours, Monthly, Yearly, or All Time).
- Official Sent-Folder Logs: Every application email dispatched by the automation agent gets recorded directly in the candidateβs official Gmail "Sent" folder for transparent verification.
graph TD
User([Candidate / User]) <--> Workspace[Next.js 16 Isolated Workspace Dashboard]
Workspace <--> REST[FastAPI Asynchronous REST Engine]
subgraph Core Storage & Database
REST <--> SQLite[(SQLite / PostgreSQL\nSQLAlchemy 2.0 ORM)]
REST <--> Storage[Local & Firebase File Storage]
end
subgraph Autonomous Multi-Agent Suite
REST <--> ResumeAgent[Resume & ATS Parsing Agent]
REST <--> SearchAgent[Preferences-Guided Search Agent]
REST <--> MatchAgent[LLM Matching & Eval Engine]
REST <--> ApplyAgent[Cover Letter & Auto-Apply Agent]
end
subgraph External Models & Integrations
ResumeAgent & MatchAgent & ApplyAgent --> LocalLLM[Ollama / LM Studio\n(100% Free Offline LLM)]
ResumeAgent & MatchAgent & ApplyAgent --> CloudLLM[OpenAI / Gemini / Groq / DeepSeek]
ApplyAgent --> Gmail[Gmail OAuth2 & SMTP Server]
SearchAgent --> JobAPIs[Multi-Country Job Feed Scrapers & RSS]
end
| Component | Technology | Highlights & Details |
|---|---|---|
| Frontend Platform | Next.js 16 (App Router) | React 19, TypeScript, dynamic UI state & interactive modals |
| UI Design System | Tailwind CSS v4 + Vanilla Tokens | Dark-grid aesthetics, coral-red glow effects, modern responsive layouts |
| Backend Engine | Python 3.12+ / FastAPI | Asynchronous performance, automatic Swagger/OpenAPI documentation |
| Database & ORM | SQLAlchemy 2.0 (SQLite / PostgreSQL) | Automatic table introspection & non-destructive schema synchronization |
| Document Processing | PyPDF2, pdfplumber, python-docx | High-fidelity structural parsing for PDF and Word formats |
| AI & LLM Engine | Ollama, OpenAI, Google GenAI, Groq | Multi-provider architecture with fallback capabilities |
| Automation Dispatcher | Gmail API & Async SMTP | Reliable background job delivery and verification tracking |
Auto-Apply-AI/
βββ start.py # π Single-command cross-platform full-stack launcher
βββ backend/ # FastAPI Backend Engine
β βββ src/
β β βββ app/
β β βββ api/ # REST API Endpoints
β β β βββ applications.py # Application proof logs & verification
β β β βββ auth.py # Workspace user authentication
β β β βββ auto_apply.py # Autonomous job application triggers
β β β βββ emails.py # Cover letter generation & email sending
β β β βββ gmail.py # Gmail OAuth & SMTP credentials manager
β β β βββ matching.py # LLM evaluation & job score calculations
β β β βββ resumes.py # Resume uploading, parsing & ATS audit
β β β βββ search.py # Preferences-guided opportunity scanners
β β β βββ users.py # User settings & API Vault manager
β β βββ services/ # Core AI & Business Services
β β β βββ application/ # Intelligent AI Cover letter creator
β β β βββ matching/ # Opportunity-to-resume evaluation engine
β β β βββ search/ # Aggregators & preferences-guided agents
β β β βββ ats_checker.py # ATS criteria rating & formatting tips
β β β βββ pdf_parser.py # Native document text extractor
β β βββ config.py # Application config & environment loader
β β βββ database.py # Engine startup & auto-sync schema setup
β β βββ main.py # Server initialization & CORS policies
β β βββ models.py # Declarative SQL database models
β β βββ storage.py # Local filesystem & Firebase file storage
β βββ requirements.txt # Backend Python dependencies
β βββ pyproject.toml # Backend environment configs
βββ frontend/ # Next.js 16 Workspace Dashboard
β βββ src/
β β βββ app/
β β βββ components/ # Modular Dashboard Components & Tabs
β β β βββ GmailModal.tsx # Gmail authentication & SMTP modal
β β β βββ HistoryTab.tsx # Today / Monthly / Yearly application hub
β β β βββ JobsTab.tsx # Opportunity cards, score badges & filters
β β β βββ Navbar.tsx # Top branding bar & quick-access vault
β β β βββ ProfileTab.tsx # Resume parser upload & ATS report UI
β β β βββ SettingsTab.tsx # Multi-LLM provider & Preferences Vault
β β βββ context/ # Client Authentication & State Context
β β βββ layout.tsx # Root styling and theme framework
β β βββ page.tsx # Main application navigation router
β βββ package.json # Node modules and build scripts
β βββ tailwind.config.ts # UI styling & design tokens
βββ docs/ # Documentation & Preview Media
β βββ images/
β βββ login-preview.png # Dark grid login workspace UI graphic
βββ LICENSE # Standard MIT Open-Source License
βββ README.md # Comprehensive repository documentation
- Python: v3.10 or higher
- Node.js: v18.x or higher
- Git
The easiest way to boot the entire Auto-Apply AI platform on Windows, macOS, or Linux is using our cross-platform automation launcher:
python start.pyWhat start.py does automatically:
- β
Verifies and Installs missing Python packages (
fastapi,uvicorn,sqlalchemy, etc.) viapip. - β
Verifies and Installs missing Node packages (
frontend/node_modules) vianpm install. - π Launches the FastAPI backend API server on
http://localhost:8000in the background. - π Launches the Next.js workspace UI server on
http://localhost:3000in the background. - π Automatically opens your default web browser straight to the Auto-Apply AI Workspace.
- π Streams real-time terminal logs and closes all server processes gracefully when you press
Ctrl + C.
If you prefer launching services independently across two terminals:
cd backend
python -m venv venv
# Activate virtual environment:
# Windows (PowerShell): .\venv\Scripts\Activate.ps1
# Linux / macOS: source venv/bin/activate
pip install -r requirements.txt
python -m uvicorn src.app.main:app --reload --port 8000API Documentation will be accessible at http://localhost:8000/docs.
cd frontend
npm install
npm run devWorkspace UI will be accessible at http://localhost:3000.
To authorize the automation agent to dispatch customized applications directly from your email:
- Log into your Auto-Apply AI Workspace and navigate to
π API Vault(or the Settings tab). - Under Connected Gmail Account, choose Gmail App Password (SMTP).
- Input your email address along with a secure 16-character App Password (easily generated via Google Account > Security > 2-Step Verification > App Passwords).
- Click Connect via App Password. All automated emails and cover letters dispatched by the AI will immediately be mirrored and verifiable in your official Gmail "Sent" folder!
You can optionally configure default behaviors by creating a .env file inside the backend/ directory:
# Database Settings (Defaults to local SQLite auto_apply_local.db if left blank)
DATABASE_URL="sqlite:///./auto_apply_local.db"
# AI Models & Default LLM Providers (Optional: Leave empty when using local Ollama)
OPENAI_API_KEY="your_openai_api_key"
LLM_PROVIDER="openai"
LLM_MODEL="gpt-4o-mini"
# Gmail OAuth & Storage Configurations (Optional)
GMAIL_CLIENT_ID="your_google_client_id"
GMAIL_CLIENT_SECRET="your_google_client_secret"
FIREBASE_STORAGE_BUCKET="your-firebase-storage-bucket.appspot.com"
# Application Security
SECRET_KEY="super-secret-jwt-key-change-in-production"Interactive OpenAPI/Swagger documentation is automatically published whenever the backend server runs at http://localhost:8000/docs.
| Endpoint | Method | Core Functionality |
|---|---|---|
/api/v1/auth/login |
POST |
Authenticate candidate into their isolated workspace |
/api/v1/resumes/upload |
POST |
Ingest PDF/DOCX resume file, extract structural data & compute ATS score |
/api/v1/resumes/profile |
GET / PUT |
Manage extracted candidate qualifications, skills array & ATS metrics |
/api/v1/search/trigger |
POST |
Invoke the Preferences-Guided Search Agent across multi-country feeds |
/api/v1/search/opportunities |
GET |
Retrieve scraped job, internship & scholarship listings with filters |
/api/v1/matching/evaluate |
POST |
Perform real-time AI evaluation and compatibility scoring against job postings |
/api/v1/auto-apply/run |
POST |
Trigger autonomous cover letter synthesis and Gmail delivery pipeline |
/api/v1/users/settings |
GET / PUT |
Store LLM API keys in secure vault & customize remote job preferences |
/api/v1/applications |
GET |
Access verified transmission logs for Today, Monthly, Yearly or All periods |
Distributed under the MIT License. See LICENSE for full legal text and details.
Crafted with β€οΈ by Nouman Sajid for Auto-Apply AI
