Skip to content

kmzer06/Job-Application-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Job Application Bot (CLI)

A local-first assistant to track roles, tailor cover letters, prep application answers, and draft LinkedIn updates— without breaking site Terms of Service.

This tool does not auto-submit on third‑party sites. It helps you prepare high‑quality materials fast and keep an organized pipeline.

Features

  • Add roles manually or from RSS/Atom feeds
  • Keyword‑aware tailoring for cover letters (optionally uses OpenAI if OPENAI_API_KEY is set)
  • SQLite tracker for stages (saved, applied, interview, offer, rejected)
  • Email draft export (copy/paste into email client)
  • Draft LinkedIn update text for your project progress
  • Clean Typer CLI with Rich output

Quickstart

# 1) Create & activate venv (Windows PowerShell)
python -m venv .venv
. .venv/Scripts/Activate.ps1

# macOS/Linux
python3 -m venv .venv
source .venv/bin/activate

# 2) Install deps
pip install -r requirements.txt

# 3) Configure your details
cp data/user_profile.example.yml data/user_profile.yml
cp .env.example .env
# edit data/user_profile.yml and .env to taste

# 4) See commands
python src/app.py --help

Common commands

# Add a job manually
python -m src.app jobs add --title "AI & Machine Learning Engineer, Associate" --company "BlackRock" --location "London, UK" --url "https://careers.blackrock.com/job/london/ai-and-machine-learning-engineer-associate/45831/85486803104" --source manual --keywords "AI, Kubernetes, Cloud, Python, ML, Rust"


# Pull from a feed (if you have one)
python src/app.py feeds add --name "Company Careers" --url "https://example.com/careers/rss"
python src/app.py feeds pull

# Tailor materials for a job (creates /out/<job_id>/)
python src/app.py tailor run <job_id>

# Mark progress
python src/app.py jobs status <job_id> applied
python src/app.py jobs status <job_id> interview

# Draft LinkedIn post about your progress
python src/app.py social post-draft --job-id <job_id>

VS Code

  • Run: python src/app.py --help
  • Provided .vscode/tasks.json and launch.json for convenience.

Render deployment?

If you want a web UI later, you can convert this to a small FastAPI/Streamlit service; the core logic is already separated in modules.

Legal & ethical

  • Respect each site’s Terms of Service and robots policies.
  • Don’t auto‑submit on third‑party forms unless you have written permission.
  • Keep credentials private (.env is ignored by git).

About

Helps keep track of job application.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages