Skip to content

jayanthkonanki/ATS-Resume-Intelligence-AI

Repository files navigation

Resume Intelligence AI: Guide

Streamlit App Build Status Python License

resume_parser.mp4

This repository contains the Resume Intelligence AI, a sophisticated platform designed to bridge the gap between resume claims and actual technical ability. By integrating automated verification of digital footprints and AI-driven interviewing, we transform static documents into a comprehensive "Recruiter Intelligence" report.

Core AI Solution

  • Resume Parsing: Accurately extracting key qualifications using NLP.
  • URL Discovery & Web Crawling: Identifying relevant online portfolios and gathering real-time data from public sources.
  • Code Insight Extraction: Leveraging AI to analyze repositories for tech stacks and contribution complexity.
  • AI Interviewing: Contextual assessments designed to reflect true candidate abilities.

🚀 Overview

The application operates in two primary modes:

  1. Resume Analyzer: Uses Mindee for OCR, PyMuPDF for link extraction, and Firecrawl for web scraping to build a rich user profile via OpenRouter LLMs.
  2. ATS Scorer: Uses sentence-transformers to calculate a semantic match percentage between your profile and a job description.

🛠️ Setup Instructions

1. Prerequisites

Ensure you have Python 3.11+ installed. You will also need API keys for the following services:

  • Mindee: For resume parsing.
  • Firecrawl: For scraping external links (GitHub, LinkedIn, Portfolio).
  • OpenRouter: To access AI models (e.g., arcee-ai/trinity-large-preview).

2. Installation

Clone the repository and install the required dependencies:

pip install -r requirements.txt

3. Configuration

Create a .streamlit/secrets.toml file or set environment variables for the following keys:

MINDEE_API_KEY = "your_mindee_key"
FIRECRAWL_API_KEY = "your_firecrawl_key"
OPENROUTER_API_KEY = "your_openrouter_key"

🧪 How to Test

Option A: Local Streamlit UI (Recommended)

Run the interactive dashboard to test the full workflow visually:

streamlit run app_ui.py
  1. Tab 1 (Analyzer): Upload a PDF resume. The system will parse text, find links, scrape their content, and generate a recruiter-ready profile.
  2. Tab 2 (Scorer): Paste the generated profile and a target Job Description. The system will generate a match score and a gauge chart.

Option B: Local API (FastAPI)

You can also run the backend as a standalone service:

uvicorn main:app --reload
  • Health Check: GET /
  • Process Resume: POST /process_resume with a JSON body {"pdf_path": "path/to/resume.pdf"}.
  • Score Resume: POST /score_resume with {"user_summary": "...", "jd_summary": "..."}.

📂 Project Structure

  • app_ui.py: Streamlit frontend implementation.
  • main.py: FastAPI orchestrator for the backend.
  • mindee_service.py: Logic for extracting structured data from PDFs.
  • pdf_service.py: Extracts HTTP/HTTPS links from resume files.
  • firecrawl_service.py: Scrapes content from portfolio or social links.
  • transformer_service.py: Computes semantic similarity scores.
  • openrouter_service.py: Manages multi-turn AI reasoning for profile generation.

🌐 Live Version

Test the deployed application here: Resume Intelligence AI

About

Validates a candidate by automatically deep-diving into digital footprints and code portfolios to pinpoint an ideal hire with semantic scoring that matches skills directly to the job description.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages