Skip to content

Automate and streamline your job search with a suite of tools designed for LinkedIn outreach, email campaigns, resume organization, and network management. Enhance your efficiency, keep your applications organized, and maintain a professional online presence with ease.

License

Notifications You must be signed in to change notification settings

praneethravuri/jobs-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Job Search Automation Toolkit

A comprehensive, well-organized collection of tools to supercharge your job search. Features automated LinkedIn outreach, AI-powered email campaigns, resume management, and H1B visa sponsorship research.

πŸ“ Project Structure

jobs-tools/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ email/
β”‚   β”‚   β”œβ”€β”€ ai_generated/        # AI-powered personalized emails
β”‚   β”‚   └── cold_outreach/       # Cold email campaigns
β”‚   β”œβ”€β”€ linkedin/                # LinkedIn automation scripts
β”‚   β”œβ”€β”€ resume/
β”‚   β”‚   β”œβ”€β”€ generator/           # Resume generation from JSON
β”‚   β”‚   └── organizer/           # Resume file organization
β”‚   └── scraping/                # H1B company data scraper
β”œβ”€β”€ pyproject.toml               # uv package configuration
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE
└── README.md

πŸš€ Getting Started

Installation

This project uses uv for fast, reliable Python package management:

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e .

Environment Setup

Create a .env file in the project root:

GMAIL_APP_PASSWORD=your_gmail_app_password
[email protected]

πŸ“§ Email Outreach

AI-Generated Personalized Emails

Location: src/email/ai_generated/

Leverage local AI models (via Ollama) to generate personalized, professional outreach emails at scale.

generate_emails.py

Generates customized emails for multiple recipients and saves them as JSON files organized by company.

python src/email/ai_generated/generate_emails.py

send_emails.py

Sends AI-generated emails with personalized content to your contact list.

python src/email/ai_generated/send_emails.py

Requirements:

  • Install Ollama and download your preferred model (e.g., phi3)
  • Set GMAIL_APP_PASSWORD in your .env file

Cold Email Outreach

Location: src/email/cold_outreach/

Send targeted cold emails to recruiters and potential referrers.

send_without_attachment.py

Send plain text emails for quick, lightweight outreach.

python src/email/cold_outreach/send_without_attachment.py

send_with_attachment.py

Send emails with resume attachments for formal applications.

python src/email/cold_outreach/send_with_attachment.py

πŸ”— LinkedIn Automation

Location: src/linkedin/

Browser console scripts for automating LinkedIn networking tasks.

referral_single.js

Send personalized connection requests or messages to individual profiles. Navigate to a LinkedIn profile, open DevTools console, and paste the script.

Features:

  • Target recruiters or employees
  • Customize messages with company name and job ID
  • Quick, one-click messaging

referral_multiple.js

Automated mass outreach to multiple profiles on a company page.

Usage:

  1. Visit a company's LinkedIn page
  2. Filter by location and position
  3. Open DevTools console and paste the script
  4. Set connection limits to manage outreach volume

Tip: Start with smaller batches (10-20) to avoid LinkedIn rate limits.

withdraw_connections.js

Bulk withdraw pending connection requests to keep your network clean and professional.

Usage:

  1. Navigate to LinkedIn β†’ My Network β†’ Manage sent requests
  2. Open DevTools console
  3. Paste and run the script

πŸ“„ Resume Tools

Resume Generator

Location: src/resume/generator/create_docx.py

Generate professionally formatted .docx resumes from JSON data.

python src/resume/generator/create_docx.py

Features:

  • Custom formatting with proper spacing and alignment
  • Sections: Work Experience, Education, Skills, Projects
  • Professional styling with Calibri font

Resume Organizer

Location: src/resume/organizer/save_resume.py

Automatically organize tailored resumes by company and position.

python src/resume/organizer/save_resume.py

What it does:

  • Creates folders named CompanyName-Position
  • Copies your resume from Desktop to ~/Documents/saved-applications/
  • Maintains organized archive of all applications

πŸ” H1B Visa Sponsorship Research

Location: src/scraping/h1b_companies.py

Scrape and download data about companies that sponsor H1B visas.

python src/scraping/h1b_companies.py

Output: Creates companies.csv with company names, locations, and H1B filing statistics.


πŸ“ Best Practices & Tips

Email Outreach

  • Always test with a small batch before sending to large lists
  • Personalize templates for each company/role
  • Track response rates to optimize messaging
  • Respect unsubscribe requests and email frequency limits

LinkedIn Automation

  • Use LinkedIn automation responsibly to avoid account restrictions
  • Limit bulk actions to 20-30 connections per session
  • Always personalize messages when possible
  • Wait 24-48 hours between bulk automation sessions

Resume Management

  • Keep a master JSON file with all your experience
  • Tailor bullet points for each application
  • Maintain backups of all customized resumes
  • Use consistent naming: CompanyName-Position

βš™οΈ Configuration Examples

Email List Format (for AI-generated emails)

email_list = [
    {
        'name': 'John Doe',
        'email': '[email protected]',
        'company': 'TechCorp',
        'position': 'Software Engineer'
    },
]

Resume JSON Structure

See src/resume/generator/create_docx.py for the expected JSON schema with sections for header, work_experience, education, skills, and projects.


πŸ› οΈ Development

Adding New Tools

# Create a new module
mkdir -p src/your_module
touch src/your_module/your_script.py

# Add dependencies if needed
uv pip install new-package

Running Tests

uv pip install -e ".[dev]"
pytest

⚠️ Important Notes

  • LinkedIn Automation: Use at your own risk. LinkedIn's terms of service prohibit automation. These scripts are educational and should be used responsibly.
  • Email Sending: Gmail has daily sending limits (typically 500 emails/day for regular accounts). Monitor your quota.
  • API Keys: Never commit .env files or API keys to version control.
  • H1B Data: Information scraped from h1bdata.info is for research purposes only.

Connect With Me

About

Automate and streamline your job search with a suite of tools designed for LinkedIn outreach, email campaigns, resume organization, and network management. Enhance your efficiency, keep your applications organized, and maintain a professional online presence with ease.

Topics

Resources

License

Stars

Watchers

Forks