Skip to content

HireSense | AI-Powered Resume Analysis Web Application

Notifications You must be signed in to change notification settings

Wisawathep/HireSense

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HireSense | AI-Powered Resume Analysis Web Application

HireSense is an AI-powered resume analysis web application that uses a Retrieval-Augmented Generation (RAG) pipeline to semantically search and summarize resumes. The system enables HR users to upload PDF resumes, retrieve relevant candidates based on job requirements, and generate concise, LLM-based summaries to support faster and more accurate screening decisions.

⭐ Motivation

The recruitment process often requires HR teams to manually review a large number of resumes, which is time-consuming, repetitive, and prone to human bias. As a computer engineering student with a strong interest in AI and backend systems, I wanted to explore how Large Language Models (LLMs) and vector search can be applied to solve real-world problems. HireSense was created to experiment with an AI-powered resume analysis system that can automatically index resumes, retrieve relevant candidates based on job requirements, and generate concise summaries to support faster and more informed hiring decisions.

🔑 Key Features

  • Resume Upload & Parsing : Upload PDF resumes and automatically extract text content for further processing.
  • Semantic Resume Search (RAG-based) : Search resumes using natural language queries (e.g., “AngularJS developer”) with vector similarity instead of keyword matching.
  • AI-Powered Resume Summarization : Use LLMs to summarize candidate profiles, highlight matching skills, relevant experience, and potential gaps.
  • Interactive Web Interface : A modern web UI that allows HR users to upload resumes, search candidates, and view AI-generated results in real time.

🛠️ Tech Stacks

Python | CSS | JavaScript | Next.js | Uvicorn | FastAPI | LangChain | Faiss | Google Gemini | HuggingFace | Pydantic

python logo javascript logo nextjs logo uvicorn logo fastapi logo langchain logo gemini logo huggingface logo pydantic logo vscode logo

📚 What I Learned

  • How to design and implement an end-to-end Retrieval-Augmented Generation (RAG) pipeline
  • Practical use of vector databases (FAISS) for semantic document retrieval
  • Integrating LLMs into backend services with controlled prompts and context management
  • Designing clean API architectures for AI-driven applications
  • Bridging frontend and backend systems in a full-stack AI project

⚙️ Architecture (RAG Pipeline)

🧱 File Directory Structure

HireSense/
├── frontend/                          # Next.js Frontend (UI Layer)
│   ├── src/app/
│   │   ├── page.js                    # Landing page
│   │   ├── workspace/
│   │   │   └── page.js                # Main workspace UI (upload, search, analyze)
│   │   └── layout.js                
│   ├── public/                        # Static assets
│   └── package.json
│
├── backend/                           # FastAPI Backend (API & AI Layer)
│   ├── app/
│   │   ├── main.py                    # FastAPI entry point
│   │   │
│   │   ├── api/                       # API routes
│   │   │   ├── health.py              # Health check endpoint
│   │   │   ├── resumes.py             # Resume upload / list / delete APIs
│   │   │   ├── search.py              # Resume search based on job requirements (RAG-based)
│   │   │   └── analyze.py             # Resume analysis (RAG-based)
│   │   │
│   │   ├── core/                      # Core configuration
│   │   │   ├── config.py              # Environment & settings
│   │   │   └── logging.py             # Logging configuration
│   │   │
│   │   ├── schemas/                   # Pydantic schemas
│   │   │   ├── resume.py              # Resume-related schemas
│   │   │   ├── search.py              # Search schemas
│   │   │   └── analyze.py             # Analysis request/response schemas
│   │   │
│   │   ├── services/                  # Business & AI logic
│   │   │   ├── parsing/
│   │   │   │   └── pdf_parser.py      # PDF resume parser
│   │   │   │
│   │   │   ├── chunking/
│   │   │   │   └── chunker.py         # Resume text chunking
│   │   │   │
│   │   │   ├── embedding/
│   │   │   │   └── embeddings.py      # Transform Chunked Text --> vector
│   │   │   │
│   │   │   ├── vector_store/
│   │   │   │   └── faiss_store.py     # FAISS vector database
│   │   │   │
│   │   │   ├── llm/
│   │   │   │   ├── provider.py        # LLM provider (Gemini)
│   │   │   │   └── .env               # LLM API keys
│   │   │   │
│   │   │   └── rag/
│   │   │       └── rag_chain.py       # RAG pipeline & agent
│   │   │
│   │   └── utils/                     # Utility helpers
│   │       └── file_handler.py        # File save / delete helpers
│   │
│   ├── requirements.txt
│   └── .env                           # Backend environment variables
│
├── .gitignore
└── README.md

📜 Result


COMPUTER ENGINEERING
KING MONGKUT'S UNIVERSITY OF TECHNOLOGY NORTH BANGKOK, A.Y. 2023/27

About

HireSense | AI-Powered Resume Analysis Web Application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published