vinodbavage31 /
Auto_job_applier_linkedIn
AI-powered LinkedIn job application automation tool using Selenium, featuring session persistence, clean browser profile handling, and stability-focused debugging for reliable job applying workflows.
Loading repository data…
Schlaflied / repository
AI-powered job application automation with GPT-4o, LinkedIn auto-connect, resume optimization, and cold email campaigns. Features AI agents for contact ranking, scam detection, and memory layer for learning from successful outreach.
AI-powered job application automation system that streamlines your job search workflow using GPT-4o, automated scraping, resume optimization, LinkedIn outreach, and intelligent cold email campaigns.
Perfect for: Job seekers in EdTech, L&D, AI Product Management, and Automation fields
| Category | Technology |
|---|---|
| AI/LLM | OpenAI GPT-4o / GPT-4o-mini |
| Frontend | Streamlit 1.30+ |
| Backend | Python 3.11+ |
| Database | Neon PostgreSQL (cloud) |
| Job Scraping | Apify (Indeed Actor) |
| LinkedIn Automation | Chrome DevTools MCP (Puppeteer-based) |
| Memory Layer | ChromaDB (Vector Database) |
| Gmail API (OAuth 2.0) | |
| Resume | python-docx, ReportLab (PDF) |
| ORM | SQLAlchemy 2.0 |
# 1. Clone the repository
git clone https://github.com/Schlaflied/job-autopilot.git
cd job-autopilot
# 2. Create virtual environment
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # macOS/Linux
# 3. Install dependencies
pip install -r requirements.txt
# 4. Configure environment variables
cp .env.example .env
# Edit .env with your API keys
# 5. Initialize database
python scripts/init_database.py
python scripts/init_coffee_chat_db.py
# 6. Run the application
streamlit run streamlit_app.py --server.port=8502
Access the app: http://localhost:8502
You can run the entire application in a Docker container (recommended for stability).
# 1. Build the image
docker build -t job-autopilot .
# 2. Run the container
# We map port 8502 and allow access to the host's Chrome (CDP)
docker run -p 8502:8502 -p 5000:5000 \
--add-host=host.docker.internal:host-gateway \
--env-file .env \
-v "%cd%/data":/app/data \
job-autopilot
Note: The
--add-hostflag is crucial for the Docker container to connect to your local Chrome instance for LinkedIn automation.
job-autopilot/
├── modules/
│ ├── ai_agent.py # GPT-4o integration (scoring, resume, emails)
│ ├── coffee_chat_agents.py # ✨ AI Agents (Ranker, Scam, Personalization)
│ ├── coffee_chat_memory.py # ✨ ChromaDB Memory Layer
│ ├── coffee_chat_models.py # SQLAlchemy models for Coffee Chat
│ ├── linkedin_automation.py # ✨ LinkedIn search and automation
│ ├── job_scraper.py # Apify job scraper with caching
│ ├── job_contact_integrator.py # Job + Contact integration
│ ├── gmail_service.py # Gmail API integration
│ ├── database.py # SQLAlchemy models (Neon PostgreSQL)
│ ├── resume_generator.py # Resume PDF/DOCX generation
│ └── logger_config.py # Centralized logging
├── pages/
│ ├── coffee_chat_center.py # ✨ Coffee Chat Dashboard
│ └── user_profile.py # ✨ School & Fields Configuration
├── scripts/
│ ├── linkedin_auto_connect.py # ✨ End-to-end LinkedIn automation
│ ├── init_database.py # Database initialization
│ └── init_coffee_chat_db.py # Coffee Chat tables
├── docs/
│ └── COFFEE_CHAT_PLAN/ # LinkedIn & Coffee Chat documentation
├── streamlit_app.py # Main Streamlit UI
├── requirements.txt # Python dependencies
└── README.md # This file
OPENAI_API_KEY=sk-proj-your_openai_api_key_here
OPENAI_MODEL=gpt-4o-mini
APIFY_API_TOKEN=apify_api_your_token_here
DATABASE_URL=postgresql://user:password@host.neon.tech/dbname?sslmode=require
GMAIL_CREDENTIALS_PATH=./data/credentials/gmail_credentials.json
GMAIL_TOKEN_PATH=./data/credentials/gmail_token.json
This project uses a direct connection to Chrome's DevTools Protocol (CDP) to "read" web pages and perform actions like a human agent.
To allow the app to control your browser, you must launch Chrome with a specific debugging port (9222).
Windows Users:
launch_chrome_debug.bat in the project root.Your Data Stays With You.
.gitignore is pre-configured to exclude:
docs/ (Your personal strategies/logs)data/ (Resumes, credentials)chroma_data/ (AI memory)*.csv (LinkedIn exports)To Import LinkedIn Connections:
Connections.csv).python scripts/import_enhanced_connections.py
# Direct script execution
python scripts/linkedin_auto_connect.py --company "google.com" --school "University of Western Ontario" --limit 5
| Service | Cost | Notes |
|---|---|---|
| OpenAI GPT-4o-mini | ~$5-10/mo | Job scoring + resume + emails |
| OpenAI Embeddings | ~$0.30/1000 contacts | Memory Layer vectors |
| Apify (Indeed scraper) | $0 (free tier) | $5 free credit |
| Neon PostgreSQL | $0 (free tier) | 0.5GB storage |
| Gmail API | $0 | Free for personal use |
| Total | $5-10/mo | Scalable to 100+ applications |
taskkill /F /IM chrome.exe
C:/temp/linkedin-automation-profileThis project is licensed under GNU Affero General Public License v3.0 (AGPL-3.0).
pdfminer.six and docx2txt⭐ Star this repo if it helped you land a job! ⭐
Selected from shared topics, language and repository description—not editorial ratings.
vinodbavage31 /
AI-powered LinkedIn job application automation tool using Selenium, featuring session persistence, clean browser profile handling, and stability-focused debugging for reliable job applying workflows.
VPC-byte /
AI-powered job search agent: scrape jobs, match against a profile, draft applications, notify, and track outcomes.
vigneshwar-lokoji /
AI-powered email assistant — monitors Gmail in real-time, classifies emails (job/personal/bank/spam), drafts context-aware replies, tracks job applications in Google Sheets, and manages everything through Telegram. Built with LangGraph + Gemini 2.5 Flash + Gmail Pub/Sub
chapagainmanoj /
AI-powered job application companion, based on resume and job description
JosephDomnic /
AI-powered job application agent — CV analysis, tailored cover letters, CV summaries and downloadable 1-page PDFs
chriscord /
AI-powered local job search and application prep tool