Skip to content

srax/Resume-Reviewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resume Reviewer

An AI-powered resume screening tool that uses OpenAI GPT-4o to score resumes against job descriptions.

Features

  • 📄 PDF Processing: Extract text from PDF resumes using advanced parsing
  • 🤖 AI Scoring: Score resumes against job descriptions using OpenAI GPT-4o API
  • 📊 Interactive UI: Streamlit-based web interface with sortable results
  • 📦 Batch Processing: Handle multiple resumes at once (ZIP upload supported)
  • 💾 Export Results: Download results as CSV
  • 🔍 Detailed Analysis: View strengths, gaps, and follow-up questions

Quick Start

1. Install Dependencies

pip install -r requirements.txt

2. Set Up API Key

Get your OpenAI API key from platform.openai.com

3. Run the Application

streamlit run app.py

4. Use the Tool

  1. Upload resumes (individual PDFs or ZIP file)
  2. Enter your job description
  3. Add your OpenAI API key
  4. Click "Run Scoring"
  5. Review results and export as needed

Project Structure

resume-reviewer/
├── app.py              # Main Streamlit application
├── reviewer.py         # PDF processing and Claude scoring utilities
├── requirements.txt    # Python dependencies
├── README.md          # This file
└── data/              # Auto-created data directories
    ├── raw_pdfs/      # Extracted PDF files
    ├── processed/     # Processed text files
    └── results/       # Scoring results

Usage Tips

File Formats

  • Individual PDFs: Upload multiple PDF files directly
  • ZIP Files: Create a ZIP file containing all your PDFs for easier batch upload

Job Description

  • Be specific about required skills and experience
  • Include technical requirements and qualifications
  • Mention must-have vs. nice-to-have skills

Scoring

  • Scores range from 0-100 (100 = perfect match)
  • Results include strengths, gaps, and suggested interview questions
  • All data is processed locally and temporarily

API Requirements

  • OpenAI API: Required for resume scoring
  • Rate Limits: Be mindful of API rate limits when processing many resumes
  • Costs: Check OpenAI pricing for token usage estimates

Troubleshooting

Common Issues

  1. PDF Processing Errors

    • Ensure PDFs are not password-protected
    • Check that PDFs contain selectable text (not just images)
  2. API Key Issues

    • Verify your OpenAI API key is valid
    • Check your API quota and billing status
  3. Memory Issues

    • For large batches, process in smaller chunks
    • Clear data/ directory between runs if needed

Performance Tips

  • Batch Size: Process 10-20 resumes at a time for optimal performance
  • PDF Quality: Higher quality PDFs with good text extraction work better
  • Network: Stable internet connection required for API calls

Data Privacy

  • All processing happens locally on your machine
  • Resume text is sent to OpenAI API only for scoring
  • No data is stored permanently (temporary files are used)
  • Delete data/ directory after use for complete cleanup

Development

Adding Features

  • New Scoring Criteria: Modify the prompt in reviewer.py
  • Additional Export Formats: Extend the export functionality in app.py
  • UI Improvements: Customize the Streamlit interface

Testing

Run with sample resumes to test functionality before processing real candidate data.

License

MIT License - Feel free to modify and distribute as needed.

Support

For issues or questions:

  1. Check the troubleshooting section above
  2. Review the code comments for implementation details
  3. Test with sample data first

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages