10000 GitHub - luismr/the-pudim-hunter: The Pudim Hunter ๐Ÿฎ is a Proof of Concept (PoC) tool to scrape job listings from SimplyHired, analyze them against your resume, and assign a relevance score. Get insights into how well each job matches your skills. Automate your job search smarter! ๐Ÿš€
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

The Pudim Hunter ๐Ÿฎ is a Proof of Concept (PoC) tool to scrape job listings from SimplyHired, analyze them against your resume, and assign a relevance score. Get insights into how well each job matches your skills. Automate your job search smarter! ๐Ÿš€

License

Notifications You must be signed in to change notification settings

luismr/the-pudim-hunter

Repository files navigation

The Pudim Hunter ๐Ÿฎ

Python 3.9 OpenAI API 0.28 Pandas 2.2.x Beautifulsoup4 4.13.x pudim-hunter-driver 1.0.0 pudim-hunter-driver-scraper 1.0.1 pudim-hunter-simply-hired 1.0.1

A job hunting assistant that helps you find and analyze job opportunities. It fetches job listings from various sources, analyzes them against your resume, and provides match scores and detailed analyses.

Features

  • Job Fetcher: Automatically fetches job listings from multiple sources
  • Resume Analysis: Analyzes job descriptions against your resume
  • Match Scoring: Provides a score (0-100) for each job based on your resume match
  • Detailed Analysis: Gives detailed explanations for the match scores
  • Storage Management: Efficiently manages job data, analysis results, and resume content
  • Modular Design: Clean separation of concerns with dedicated modules for each functionality
  • Environment Configuration: Flexible configuration through environment variables and command-line arguments

Project Structure

the-pudim-hunter/
โ”œโ”€โ”€ data/                    # Data storage directory
โ”‚   โ”œโ”€โ”€ job_data.csv        # Fetched job listings
โ”‚   โ”œโ”€โ”€ job_analysis.csv    # Analysis results
โ”‚   โ””โ”€โ”€ resume.txt          # Your resume content
โ”œโ”€โ”€ analysis_helper.py      # OpenAI analysis utilities
โ”œโ”€โ”€ job_fetcher.py         # Main job fetching script
โ”œโ”€โ”€ job_analyze_scores.py  # Job analysis script
โ”œโ”€โ”€ storage_job.py         # Job data storage
โ”œโ”€โ”€ storage_analysis.py    # Analysis results storage
โ”œโ”€โ”€ storage_resume.py      # Resume content storage
โ”œโ”€โ”€ requirements.txt       # Python dependencies
โ””โ”€โ”€ README.md

Dependencies

This project relies on several key packages:

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/the-pudim-hunter.git
cd the-pudim-hunter
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up your environment variables:
# OpenAI API configuration
export OPENAI_API_KEY="your-api-key"
export OPENAI_API_MODEL="gpt-4o"  # Optional, defaults to gpt-4o

# Job search configuration
export JOB_TITLE="Software Engineer"
export JOB_LOCATION="Remote"

Usage

1. Add Your Resume

Create a file at data/resume.txt with your resume content. You can also specify a custom path using the --resume-path argument.

2. Fetch Jobs

Run the job fetcher with your desired parameters:

# Using environment variables
python job_fetcher.py

# Using command-line arguments
python job_fetcher.py \
    --title "Software Engineer" \
    --location "Remote" \
    --output "data/job_data.csv" \
    --disable-headless

Command-line arguments for job_fetcher.py:

  • --title: Job title to search for (default: "Software Engineer")
  • --location: Job location to search in (default: "Remote")
  • --output: Path to save job data CSV file (default: "data/job_data.csv")
  • --disable-headless: Disable headless mode (show browser window)

3. Analyze Jobs

Analyze the fetched jobs against your resume:

# Using environment variables
python job_analyze_scores.py

# Using command-line arguments
python job_analyze_scores.py \
    --openai-api-key "your-api-key" \
    --openai-model "gpt-4o" \
    --analysis-path "data/job_analysis.csv" \
    --resume-path "data/resume.txt" \
    --jobs-path "data/job_data.csv"

Command-line arguments for job_analyze_scores.py:

  • --openai-api-key: OpenAI API key (overrides OPENAI_API_KEY environment variable)
  • --openai-model: OpenAI model to use (default: "gpt-4o")
  • --analysis-path: Path to job analysis file (default: "data/job_analysis.csv")
  • --resume-path: Path to resume file (default: "data/resume.txt")
  • --jobs-path: Path to jobs file (default: "data/job_data.csv")

Storage Management

The project uses dedicated storage classes for managing different types of data:

  1. JobStorage (storage_job.py): Manages job listings

    • Handles CRUD operations for job data
    • Supports custom data folder and file name
    • Ensures data integrity and file existence
  2. AnalysisStorage (storage_analysis.py): Manages analysis results

    • Stores match scores and analyses
    • Maintains job metadata
    • Supports custom storage paths
  3. ResumeStorage (storage_resume.py): Manages resume content

    • Handles resume file operations
    • Validates resume content
    • Supports custom file paths

Analysis Process

The job analysis process uses OpenAI's GPT models to:

  1. Compare job descriptions with your resume
  2. Generate match scores (0-100)
  3. Provide detailed analyses explaining the scores
  4. Store results for future reference

The analysis considers:

  • Job requirements and qualifications
  • Your skills and experience
  • Job responsibilities
  • Location and salary information

Contributing

  1. Fork the repository
  2. Create a new branch for your feature
  3. Implement your changes
  4. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

Automate your job search smarter with The Pudim Hunter ๐Ÿฎ!

About

The Pudim Hunter ๐Ÿฎ is a Proof of Concept (PoC) tool to scrape job listings from SimplyHired, analyze them against your resume, and assign a relevance score. Get insights into how well each job matches your skills. Automate your job search smarter! ๐Ÿš€

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages

0