Skip to content

Latest commit

ย 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“„ Resume Intelligence AI

An AI-powered Resume Intelligence platform that allows users to upload a resume, ask questions about the candidate, compare the resume against a Job Description, identify skill gaps, and receive AI-generated improvement suggestions.

The application combines FastAPI, Streamlit, FastEmbed, Hybrid RAG, Groq, Docker, and Render to provide an end-to-end resume analysis experience.


๐ŸŒ Live Demo

๐Ÿš€ Try Resume Intelligence AI:
https://resume-intelligence-ai-aman.streamlit.app/

The backend is hosted on Render. The first request may take a short time if the service is waking from an idle state.


Python FastAPI Streamlit FastEmbed RAG Groq Docker Render

๐Ÿš€ Features

๐Ÿ“„ Resume Upload & Processing

  • Upload resume files in PDF format
  • Extract and process resume content
  • Automatically activate the uploaded resume for analysis
  • Generate embeddings for resume sections
  • Use the uploaded resume for question answering and Job Description analysis

๐Ÿ’ฌ Chat with Resume

Ask natural-language questions about the uploaded resume.

Example questions:

  • What are the candidate's strongest technical skills?
  • Summarize the candidate's professional experience.
  • What projects has the candidate worked on?
  • What database technologies does the candidate know?
  • What BI tools does the candidate use?
  • What certifications does the candidate have?

The system uses Hybrid Retrieval-Augmented Generation (RAG) to retrieve relevant resume information before generating the answer.

๐ŸŽฏ Resume โ†” Job Description Matching

Upload a Job Description and compare its requirements against the currently active resume.

The system provides:

  • Rule-based skill match percentage
  • Matched skills
  • Missing skills
  • Skill coverage
  • Skill-gap identification
  • Resume improvement suggestions
  • AI-powered candidate fit analysis

๐Ÿค– AI Candidate Analysis

The AI analysis generates:

  1. Overall Candidate Fit
  2. Candidate Strengths
  3. Skill Gaps
  4. Resume Improvement Suggestions
  5. Interview Preparation Topics
  6. Final Recommendation

๐Ÿ“ธ Application Screenshots

๐Ÿ’ฌ Chat with the Resume

Upload a resume and ask questions about the candidate using the AI-powered Resume RAG system.

Resume Chat


๐ŸŽฏ Resume โ†” Job Description Matching

Compare the uploaded resume against a Job Description to identify matched skills, missing skills, and overall compatibility.

Job Description Match


๐Ÿค– AI Candidate Analysis

Generate detailed AI-powered candidate analysis including strengths, skill gaps, resume improvement suggestions, interview preparation topics, and final recommendations.

AI Candidate Analysis


๐Ÿง  System Architecture

                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚    Streamlit UI      โ”‚
                    โ”‚       app.py         โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ”‚ HTTP Requests
                               โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚   FastAPI Backend    โ”‚
                    โ”‚     api/main.py      โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
             โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
             โ”‚                 โ”‚                 โ”‚
             โ–ผ                 โ–ผ                 โ–ผ
       Resume Parser       FastEmbed        Skill Matching
             โ”‚             Embeddings             โ”‚
             โ”‚                 โ”‚                   โ”‚
             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ Hybrid RAG โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
                         Groq LLM API
                               โ”‚
                               โ–ผ
                      AI Generated Response

๐Ÿ› ๏ธ Tech Stack

Technology Purpose
Python Core application development
Streamlit Frontend user interface
FastAPI REST API backend
FastEmbed Resume embedding generation
Hybrid RAG Resume information retrieval
Groq LLM inference
Docker Backend containerization
Render FastAPI backend deployment
Streamlit Community Cloud Frontend deployment
GitHub Version control and deployment integration

๐Ÿ“ Project Structure

Resume_Intelligence_AI/
โ”‚
โ”œโ”€โ”€ api/
โ”‚   โ””โ”€โ”€ main.py
โ”‚
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ embeddings.py
โ”‚   โ”œโ”€โ”€ retriever.py
โ”‚   โ”œโ”€โ”€ agent.py
โ”‚   โ””โ”€โ”€ ...
โ”‚
โ”œโ”€โ”€ Data/
โ”‚   โ””โ”€โ”€ Resume/
โ”‚
โ”œโ”€โ”€ evaluation/
โ”‚
โ”œโ”€โ”€ tests/
โ”‚
โ”œโ”€โ”€ app.py
โ”œโ”€โ”€ Dockerfile
โ”œโ”€โ”€ requirements.txt
โ””โ”€โ”€ README.md

๐Ÿ”Œ API Endpoints

The FastAPI backend provides the following endpoints:

Method Endpoint Description
GET / API root
GET /health Check API and model health
POST /upload-resume Upload and process a resume
POST /ask Ask questions about the active resume
POST /analyze-job-description Compare the resume with a Job Description

Interactive FastAPI documentation is available through:

/docs

โš™๏ธ Local Installation

1. Clone the Repository

git clone https://github.com/amandadhich18/Resume_Intelligence_AI.git
cd Resume_Intelligence_AI

2. Create a Virtual Environment

python -m venv .venv

3. Activate the Virtual Environment

Windows PowerShell:

.venv\Scripts\Activate.ps1

Windows Command Prompt:

.venv\Scripts\activate

Linux/macOS:

source .venv/bin/activate

4. Install Dependencies

pip install -r requirements.txt

๐Ÿ” Environment Variables

Create a .env file in the project root.

Add your Groq API key:

GROQ_API_KEY=your_groq_api_key

Important: Never commit your .env file or API keys to GitHub.


โ–ถ๏ธ Run the FastAPI Backend

Start the backend with:

uvicorn api.main:app --reload

The API will normally be available at:

http://127.0.0.1:8000

FastAPI Swagger documentation:

http://127.0.0.1:8000/docs

๐Ÿ–ฅ๏ธ Run the Streamlit Frontend

Open another terminal and run:

streamlit run app.py

The Streamlit application will normally open at:

http://localhost:8501

๐Ÿณ Docker

The FastAPI backend can also be run using Docker.

Build the Docker Image

docker build -t resume-intelligence-ai .

Run the Docker Container

docker run --env-file .env -p 8000:8000 --name resume-ai-api resume-intelligence-ai

The containerized API will then be available at:

http://localhost:8000

โ˜๏ธ Deployment

The project uses separate frontend and backend deployments.

Backend

The FastAPI backend is:

  • Containerized using Docker
  • Deployed on Render
  • Responsible for resume processing, embeddings, retrieval, skill matching, and LLM communication

Frontend

The Streamlit frontend is:

  • Built using Streamlit
  • Deployed using Streamlit Community Cloud
  • Connected to the production FastAPI backend

Deployment Architecture

                     User
                       โ”‚
                       โ–ผ
              Streamlit Community Cloud
                       โ”‚
                       โ–ผ
               FastAPI API on Render
                       โ”‚
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚            โ”‚            โ”‚
          โ–ผ            โ–ผ            โ–ผ
   Resume Parser   FastEmbed    Skill Matching
          โ”‚            โ”‚            โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                       โ–ผ
                   Hybrid RAG
                       โ”‚
                       โ–ผ
                    Groq LLM
                       โ”‚
                       โ–ผ
               Generated Response

๐Ÿ” Resume Question-Answering Workflow

1. User uploads Resume PDF
             โ†“
2. Resume text is extracted and processed
             โ†“
3. Resume is divided into relevant sections
             โ†“
4. Embeddings are generated using FastEmbed
             โ†“
5. Resume becomes the active resume
             โ†“
6. User asks a question
             โ†“
7. Hybrid RAG retrieves relevant resume sections
             โ†“
8. Retrieved context is provided to the LLM
             โ†“
9. Groq generates the contextual answer

๐ŸŽฏ Job Description Analysis Workflow

Resume + Job Description
          โ”‚
          โ–ผ
    Skill Extraction
          โ”‚
          โ–ผ
    Skill Comparison
          โ”‚
          โ–ผ
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ Matched Skills    โ”‚
 โ”‚ Missing Skills    โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚
           โ–ผ
   Match Percentage
           โ”‚
           โ–ผ
    Skill Gap Analysis
           โ”‚
           โ–ผ
      AI Fit Analysis
           โ”‚
           โ–ผ
 Improvement Suggestions
           โ”‚
           โ–ผ
 Interview Preparation

๐Ÿ“Š Current Capabilities

The application currently supports:

  • โœ… Resume PDF processing
  • โœ… Dynamic resume upload
  • โœ… Resume question answering
  • โœ… FastEmbed embeddings
  • โœ… Hybrid resume retrieval
  • โœ… Retrieval-Augmented Generation
  • โœ… Job Description upload
  • โœ… Job Description analysis
  • โœ… Technical skill extraction
  • โœ… Resume โ†” JD skill matching
  • โœ… Match percentage calculation
  • โœ… Skill-gap identification
  • โœ… Resume improvement recommendations
  • โœ… AI candidate-fit analysis
  • โœ… Interview preparation recommendations
  • โœ… FastAPI REST API
  • โœ… Streamlit web interface
  • โœ… Dockerized backend
  • โœ… Render backend deployment
  • โœ… Streamlit Community Cloud frontend deployment

๐Ÿ’ก Example Use Case

Suppose a Job Description requires:

Python
SQL
Power BI
Tableau
Excel
Data Analysis
Data Visualization

The application analyzes the active resume and separates the requirements into:

โœ… Matched Skills

Skills found in both the resume and Job Description.

โš ๏ธ Missing Skills

Skills detected in the Job Description but not explicitly detected in the resume.

The application then calculates a rule-based skill match percentage and uses the LLM to perform a broader candidate-fit analysis.

This distinction helps avoid treating exact keyword overlap and AI-based contextual evaluation as the same measurement.


๐Ÿค– AI Analysis Output

The AI-powered Resume โ†” Job Description analysis can provide:

1. Overall Candidate Fit

An overall assessment of how closely the candidate aligns with the Job Description.

2. Candidate Strengths

Highlights relevant technical skills, projects, tools, and experience.

3. Skill Gaps

Identifies requirements that are missing or weakly represented in the resume.

4. Resume Improvement Suggestions

Provides practical recommendations for improving alignment with the target role.

5. Interview Preparation

Suggests technical and business topics that the candidate should prepare for.

6. Final Recommendation

The candidate can be classified as:

  • Strong Fit
  • Good Fit
  • Partial Fit
  • Low Fit

๐Ÿ”ฎ Future Improvements

Potential future improvements include:

  • Support for DOCX resumes
  • Multiple resume comparison
  • Semantic Job Description skill matching
  • ATS compatibility scoring
  • Resume scoring dashboard
  • Resume keyword recommendations
  • Improved skill taxonomy
  • Candidate ranking
  • Persistent vector database
  • User authentication
  • Resume analysis history
  • Exportable PDF analysis reports
  • Advanced evaluation pipeline
  • Automated resume improvement recommendations
  • Multi-candidate recruitment dashboard

๐ŸŽฏ Project Goal

The goal of Resume Intelligence AI is to demonstrate how modern Data Analytics, Generative AI, Retrieval-Augmented Generation, API development, and cloud deployment technologies can be combined to build a practical resume intelligence application.

The project combines:

Resume Processing
        +
Embedding Generation
        +
Hybrid Retrieval
        +
Skill Matching
        +
Retrieval-Augmented Generation
        +
LLM Analysis
        +
FastAPI
        +
Streamlit
        +
Docker
        +
Cloud Deployment

into a complete end-to-end AI application.


๐Ÿ‘จโ€๐Ÿ’ป Author

Aman Dadhich

Data Analyst | Generative AI (GenAI) Enthusiast

Passionate about building data-driven and AI-powered solutions using Python, SQL, Power BI, Machine Learning, RAG, and Generative AI.


โญ Support

If you find this project useful, consider giving the repository a โญ Star on GitHub.

Contributions, suggestions, and feedback are welcome.

About

AI-powered Resume Intelligence system for resume Q&A, Job Description matching, skill-gap analysis, and candidate-fit insights using FastAPI, Streamlit, FastEmbed, Hybrid RAG, Groq, Docker, and Render.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages