🚀 Project 06 · Full-Stack AI Platform · v3.0

CareerPilot AI
AutoJob Command Center

Not just a resume tool. A complete end-to-end AI job-search platform — upload resume once → AI analyzes & builds ATS-optimized resume → searches live jobs → scores every match (1-100) → generates tailored cover letters → auto-applies → tracks everything → exports CSV. All automated.

Python · Flask AI / NLP ATS Optimization Live Job Search Auto-Apply Engine Cover Letter AI 12 REST APIs CSV Export PDF · DOCX · TXT Upload Windows / Mac / Linux
🐙 View on GitHub 🖥️ Run on Windows ← Portfolio

📍 Complete Automated Workflow

End-to-End Pipeline
📄
Upload
Resume
🔍
AI
Analysis
ATS
Optimize
🗝️
Generate
Keywords
🔎
Search
Live Jobs
🎯
Score &
Filter
✍️
Cover
Letter
📨
Auto
Apply
📋
Track &
Export CSV

Upload your resume once → the system handles everything automatically. You only need to review the results.

📊 Platform Statistics

v3.0 Results
28/28
Acceptance Criteria Passed
27+
Live Jobs Per Search
18
Live API Jobs (Remotive)
97
Top Match Score /100
12
REST API Endpoints
12
CSV Export Columns

⚡ Core Features

Everything Automated
📄
Resume Upload — 3 Ways
Upload PDF · DOCX · TXT via drag & drop or file picker.
Or paste / type resume text directly.
AI extracts: name, email, phone, LinkedIn, GitHub, skills, experience, education, certifications, projects, achievements, keywords.
🔍
ATS Analysis — 7 Dimensions
Scores your resume across: ATS Compatibility · Skills Coverage · Experience Relevance · Action Verb Coverage · Quantification · Achievement Strength · Formatting.
Every recommendation explains why and how to fix it.
Master Resume Builder
Auto-built the moment you upload. 7 templates: Modern · Conservative · Technical · Data Analyst · Finance · Business Analyst · Data Science.
One page or two pages. ATS-friendly. No graphics or tables.
🔎
Live Job Search
Fetches real live jobs from Remotive API + curated Indian tech board.
Filters: work mode · employment type · job age (today / 3d / 7d / 30d) · min salary.
Refresh button always pulls fresh listings. Zero cached results.
🎯
AI Match Scoring (1–100)
Every job scored against your resume:
Skill overlap (45pts) + Title match (25pts) + Experience (15pts) + Location (10pts) + Education (5pts).
Labels: Excellent · Strong · Good · Moderate · Low Match.
✍️
Cover Letter AI
Company-specific cover letters generated using only your resume data. Zero fabrication.
Auto-generated for every application in the pipeline. Download as TXT.
🤖
AutoPilot Apply
One click. Full pipeline: search → score → filter → prepare → apply.
CAPTCHA / manual verification detected and marked correctly — never falsely reported as Applied.
Duplicate detection: already-applied jobs skipped.
📋
Application Tracker + CSV
Every application tracked: Applied · Interview · Offer · Rejected · Failed · Manual Action · Already Applied.
CSV auto-generated with all 12 required columns. Download anytime.

📈 Analytics

Performance Data
🎯 Match Score Distribution Sample Run
📊 ATS Score Improvement Before vs After
📋 Application Pipeline Status Breakdown
🔌 Job Sources Live vs Curated

🎯 Match Scoring Engine

How 1–100 is Calculated
Score Formula Weighted
Score Labels:
95–100 = Excellent Match   85–94 = Strong Match
70–84 = Good Match       50–69 = Moderate Match
<50 = Low Match
Live Example Real Output
Data Analyst — Infosys
Match Score: 97/100 ✅ Excellent Match
Skill Overlap:    SQL, Python, Power BI (9 matches)
Title Match:     "Data Analyst" found in resume
Experience:      2 positions · 8 bullets detected
Location:        Bengaluru → India match
Education:       B.Tech CSE detected ✓
→ Auto-Applied · Cover Letter Generated

🤖 AutoJob Command Center

Master Control Tab
✅ Single Tab. Full Control. The Command Center is the main tab — configure everything here and launch the entire pipeline with one click.
⚙️ Preferences
Job Role (auto-detect)
Work Mode: Remote / Hybrid / On-site
Employment: Full-time / Part-time / Contract
Location preference
Minimum Salary (₹ LPA)
Job Age: Today / 3d / 7d / 30d
Min Match Score slider (1–100)
Max Applications slider (1–500)
🔧 Automation Toggles
☑ Auto Search
☑ Auto Match & Filter
☑ Tailor Resume
☑ Generate Cover Letter
☐ Auto Apply (optional)
↑ Enable for full automation
🎛️ Actions & Stats
🚀 Launch AutoJob Pipeline
🔄 Refresh Latest Jobs
⏹ Stop Automation (instant)
📥 Export CSV

Live Stats:
Found · Matching · Applied
Failed · Manual · Duplicates
📋 Application Pipeline Steps
1
Upload Resume
PDF / DOCX / TXT / Paste
2
AI Analysis
7-dimension ATS scoring
3
Keywords
Auto job search terms
4
Live Job Search
Remotive API + boards
5
Score & Filter
1-100 match engine
6
Cover Letter
Company-specific AI
7
Auto Apply
Submit or review
8
Track + CSV
Full history + export

📥 CSV Export

12 Required Columns
Exact Column Headings As Specified
01Job Title
02Company Name
03Location
04Link to the Listing
05Match Score
06Resume to Use
07Cover Letter
08Date Prepared
09Date Applied
10Status
11Priority
12Notes
Sample Row:
Data Analyst, Infosys, Bengaluru India, https://infosys.com/careers, 97, Data_Analyst_Infosys_Resume.pdf, CoverLetter_Infosys.pdf, 2026-08-27, 2026-08-27, Applied, High, Auto-applied. Score: 97/100

✅ Acceptance Criteria

28/28 Passed
🎉 28/28 Acceptance Criteria Verified — All tested end-to-end via automated test suite on every release.
User can upload a PDF resume
User can upload DOC/DOCX resume
User can upload TXT resume
User can paste/type a resume
Resume information automatically extracted
Job-search keywords auto-generated
Latest live jobs retrieved (Remotive API)
Jobs filtered by posting date
Every job receives a match score (1-100)
Duplicate jobs removed before applying
Minimum salary filter works
Remote/hybrid/office filter works
Full-time/part-time filter works
Application limit works (1–500)
Master resume auto-built on upload
Cover letters generated per job
Auto Apply can be enabled/disabled
Manual Review mode works
CAPTCHA/OTP marked as Manual Action
Failed = recorded as Failed, not Applied
Already-applied jobs detected & skipped
Application history maintained
Dashboard statistics update in real-time
CSV auto-generated with all 12 columns
Stop Automation works immediately
Errors clearly shown with action steps
No credentials stored insecurely
Entire workflow works from master tab

🖥️ Run on Windows

3 Methods
⚡ Method 1 — Double-Click (Easiest) Recommended
1
Install Python
Go to python.org/downloads → Download Python 3.11+ → Run installer → ⚠️ Check "Add Python to PATH"
2
Download the Project
Go to github.com/akash-pathak-scientist/careerpilot-ai → Click Code → Download ZIP → Extract to C:\careerpilot-ai
3
Double-click start.bat
Inside the extracted folder, double-click start.bat — it auto-installs all dependencies and starts the server.
4
Open Browser
Go to http://localhost:5050 in Chrome, Edge, or Firefox. Done! 🎉
🔧 Method 2 — Command Line
# Open Command Prompt and run: git clone https://github.com/akash-pathak-scientist/careerpilot-ai.git cd careerpilot-ai pip install -r requirements.txt cd backend python app.py # Then open: http://localhost:5050
📦 Dependencies
flaskWeb server
flask-corsAPI cross-origin
requestsLive job fetching
pdfplumberPDF parsing
python-docxDOCX parsing
beautifulsoup4HTML parsing
All free. No API keys needed. Internet required only for live job search.
💻 System Requirements
OS: Windows 10/11 · macOS · Linux
Python: 3.8 or higher
RAM: 512 MB free minimum
Browser: Chrome / Edge / Firefox
Internet: Required for live job search
🧯 Quick Fixes
python not recognized
→ Reinstall Python, check "Add to PATH"

Port 5050 in use
→ Run: netstat -ano | findstr :5050
→ Then: taskkill /PID [number] /F

ModuleNotFoundError
→ Run: pip install -r requirements.txt

📡 API Endpoints

12 Routes · All 200 OK
MethodEndpointDescription
POST/api/resume/uploadUpload file (PDF/DOCX/TXT) or paste text → auto-analyze + build master resume
GET/api/resume/:idGet full resume data, scores, and extracted info
POST/api/resume/:id/remasterRegenerate ATS-optimized resume with chosen template
POST/api/jobs/searchSearch live jobs with filters (keyword, location, mode, age, salary)
POST/api/autopilotFull pipeline: search → score → cover letter → auto-apply → track
POST/api/jobs/_/cover-letterGenerate company-specific cover letter from resume
GET/api/applicationsList all tracked applications with status
POST/api/applicationsCreate application record manually
PATCH/api/applications/:idUpdate status (Applied / Interview / Offer / Rejected)
GET/api/applications/export/csvDownload full application history as CSV (12 columns)
GET/api/dashboard/statsLive dashboard stats: found, applied, interview, offer, failed
GET/api/healthService health check

🛠️ Tech Stack

Full-Stack Python
Backend
Python 3.x Flask Flask-CORS REST API pdfplumber python-docx Regex NLP Requests
Frontend
HTML5 CSS3 Custom Properties Vanilla JavaScript Fetch API SPA Architecture CSS Animations Responsive Design
Architecture
Modular Adapters Remotive API (Live) Curated Job Board Dedup Engine Match Scoring Pluggable LLM-ready CSV Export

🛡️ Ethics & Privacy

Non-Negotiable
What CareerPilot AI NEVER does
Fabricate resume information or qualifications
Bypass CAPTCHA, MFA, or anti-bot systems
Store or request passwords
Mark a failed application as "Applied"
Submit the same application twice
Invent job experience, companies, or education
What CareerPilot AI ALWAYS does
Mark CAPTCHA/OTP as "Requires Manual Action"
Record failed applications as "Failed"
Skip already-applied jobs (duplicate detection)
Show errors clearly with retry options
Let user stop automation instantly
Use only information from the real resume