Skip to content

lovnishverma/ResumeDataExtractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title ResumeDataExtractor
emoji 🦀
colorFrom indigo
colorTo pink
sdk docker
pinned false
app_port 7860

🎯 AI Smart Resume Screen & Extractor

ResumeDataExtractor is an intelligent Application Tracking System (ATS) tool powered by Google Gemini AI. It parses PDF resumes, extracts structured data, and compares candidates against specific job descriptions to provide a match score, reasoning, and skill gap analysis.

🔗 Live Demo: Hugging Face Space


🚀 Key Features

  • 📄 PDF Parsing: extract raw text from PDF resumes reliably.
  • 🤖 AI Analysis: Uses Google's Gemini 1.5 Pro/Flash to interpret candidate data.
  • 📊 Smart Scoring: Compare a Resume against a Job Description (JD) to get a 0-100% match score.
  • 🧩 Skill Gap Analysis: Automatically identifies Matching Skills and Missing Skills based on the JD.
  • ⚡ Hybrid Architecture: Runs a FastAPI backend for logic/API processing and a Streamlit frontend for the UI in a single container.

🛠️ How It Works

This project uses a microservices-in-a-box approach:

  1. Backend (main.py): A FastAPI server running on port 8000. It handles file uploads, text extraction, and communicates with the Google Gemini API.
  2. Frontend (app.py): A Streamlit dashboard running on port 7860. It accepts user input and sends requests to the local backend.
  3. AI Engine: The system dynamically selects the best available Gemini model (e.g., gemini-1.5-flash or gemini-pro) to process the text.

💻 Local Setup & Installation

Prerequisites

1. Clone the Repository

git clone [https://huggingface.co/spaces/LovnishVerma/ResumeDataExtractor](https://huggingface.co/spaces/LovnishVerma/ResumeDataExtractor)
cd ResumeDataExtractor

2. Install Dependencies

pip install -r requirements.txt

3. Set Environment Variables

Create a .env file in the root directory:

GEMINI_API_KEY=your_actual_api_key_here

4. Run the Application

You can run the startup script (Linux/Mac/WSL) which launches both services:

chmod +x start.sh
./start.sh

Or run them manually in separate terminals:

Terminal 1 (Backend):

uvicorn main:app --host 0.0.0.0 --port 8000

Terminal 2 (Frontend):

streamlit run app.py --server.port 7860

Access the UI at: http://localhost:7860


🐳 Docker Deployment

This project is configured to run effortlessly in Docker (standard for Hugging Face Spaces).

# Build the image
docker build -t resume-extractor .

# Run the container (Pass your API Key)
docker run -p 7860:7860 -e GEMINI_API_KEY="your_key" resume-extractor

📂 Project Structure

  • app.py: Streamlit frontend interface.
  • main.py: FastAPI backend server.
  • parser_logic.py: Core logic for PDF extraction and interaction with Google Gemini.
  • start.sh: Entry point script to run both servers simultaneously.
  • Dockerfile: Container configuration.

🛡️ License & Disclaimer

This project uses Google Generative AI. Ensure you comply with their usage policies. Resume data is processed in memory and not permanently stored on the server.

About

ResumeDataExtractor is an intelligent Application Tracking System (ATS) tool powered by Google Gemini AI. It parses PDF resumes, extracts structured data, and compares candidates against specific job descriptions to provide a match score, reasoning, and skill gap analysis.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors