Skip to content

dethan3/jobfit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 JobFit - AI-Powered Resume & Job Matching System

中文文档

An intelligent resume analysis and job description matching tool built with Claude Agent SDK.

Features

  • Resume Parsing: Supports PDF, DOCX, and TXT formats
  • JD Acquisition: Supports file input, URL scraping, and direct text input
  • Smart Matching: Multi-dimensional evaluation of resume-job fit
  • Improvement Suggestions: Actionable resume optimization recommendations
  • Keyword Recommendations: Identifies industry keywords to add

Installation

Prerequisites

  • Python 3.10+
  • Claude API Key

Setup

# Clone the project
cd findjob

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Linux/Mac
# or venv\Scripts\activate  # Windows

# Install dependencies
pip install -r requirements.txt

# Set API key
export ANTHROPIC_API_KEY="your-api-key"

Usage

Language Selection

# English output (default)
python main.py --lang en match resume.pdf --jd jd.txt

# Chinese output
python main.py --lang zh match resume.pdf --jd jd.txt

1. Match Analysis

# Basic usage
python main.py match resume.pdf --jd job_description.txt

# Fetch JD from URL
python main.py match resume.pdf --jd "https://example.com/job/123"

# Direct JD text input
python main.py match resume.pdf --jd-text "Requirements: Python developer..."

# Specify output format
python main.py match resume.pdf --jd jd.txt --output report.json

# Verbose mode
python main.py match resume.pdf --jd jd.txt --verbose

2. Get Improvement Suggestions

# Get general resume improvement suggestions (not job-specific)
python main.py improve resume.pdf

3. Interactive Mode

python main.py interactive

Output Example

🎯 JobFit - Resume Match Evaluation
===================================

📄 Resume: resume.pdf
📋 JD File: job_description.txt

📊 Resume-JD Match Report

🎯 Overall Match: 73.5%

┌─────────────────────────────────────────┐
│           Score Breakdown               │
├──────────────┬──────────┬───────────────┤
│ Dimension    │ Score    │ Status        │
├──────────────┼──────────┼───────────────┤
│ Skills       │ 70.0%    │ ○ Fair        │
│ Experience   │ 80.0%    │ ✓ Good        │
│ Education    │ 90.0%    │ ✓ Good        │
└──────────────┴──────────┴───────────────┘

✅ Matched Skills:
   Python, Machine Learning, TensorFlow, Git

❌ Missing Required Skills:
   Kubernetes, Docker

💪 Strengths:
   • Extensive Python development experience
   • AI/ML project experience
   • Education fully meets requirements

🔍 Gap Analysis:
   ● [Skills] Container deployment experience needed
      Current: No K8s/Docker experience
      Suggestion: Learn Docker basics and K8s fundamentals

💡 Recommendations:
   1. Highlight ML model deployment experience
   2. Add CI/CD related projects
   3. Consider cloud platform certifications

🏷️ Suggested Keywords:
   MLOps, CI/CD, Containerization, Microservices

Project Structure

findjob/
├── src/
│   ├── agents/           # Agent modules
│   │   └── orchestrator.py
│   ├── core/             # Core logic
│   │   ├── schemas.py    # Data models
│   │   └── prompts.py    # Prompt templates
│   ├── tools/            # Custom tools
│   │   ├── file_parser.py
│   │   └── web_scraper.py
│   └── interfaces/       # Interfaces
│       └── cli.py
├── data/                 # Data storage
│   ├── resumes/          # Resume files
│   ├── jds/              # JD files
│   └── reports/          # Generated reports
├── main.py               # Entry point
├── requirements.txt
└── README.md

Configuration

Configure via environment variables:

export ANTHROPIC_API_KEY="your-key"  # Required

Tech Stack

  • AI Engine: Claude Agent SDK
  • CLI Framework: Click
  • Terminal UI: Rich
  • Data Models: Pydantic
  • File Parsing: PyPDF2, python-docx
  • Web Scraping: httpx, BeautifulSoup

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages