Skip to content

MohamedThousif2005/endee

 
 

Repository files navigation

AI Resume Matcher using Endee Vector Database

Overview

AI Resume Matcher is a full-stack semantic resume screening platform that helps recruiters identify the best candidates for a job description using AI-powered vector similarity search.

Built on top of the Endee vector database, the application converts resumes and job descriptions into embeddings, stores them in Endee, and retrieves the most semantically relevant resumes based on similarity search.


Features

  • Upload multiple resumes (PDF/DOC/TXT)
  • Enter job descriptions for candidate matching
  • AI-powered semantic similarity matching
  • Ranked candidate results with match percentage
  • Modern recruiter dashboard UI
  • Endee vector database integration
  • Embedding-based retrieval system

Tech Stack

Frontend

  • React (Vite)
  • Tailwind CSS
  • Axios

Backend

  • Spring Boot
  • Java
  • REST APIs

AI / ML

  • Embedding Generation Service
  • Semantic Similarity Search

Vector Database

  • Endee

System Architecture

Frontend (React)
      ↓
Spring Boot Backend
      ↓
Embedding Generation Service
      ↓
Endee Vector Database
      ↓
Similarity Search Results

How Endee Is Used

Endee acts as the vector database layer for semantic retrieval.

Workflow

  1. Resume text is extracted from uploaded files
  2. Text is converted into embeddings
  3. Embeddings are stored in Endee with metadata
  4. Job description is embedded into vector form
  5. Endee performs similarity search
  6. Top matching resumes are returned with scores

Why Vector Database?

Traditional keyword search cannot understand semantic meaning.

Using a vector database enables:

  • Semantic understanding of resume/job similarity
  • Better candidate ranking
  • Context-aware matching beyond exact keywords

Project Structure

endee/
├── frontend/        # React frontend
├── backend/         # Spring Boot backend
├── docs/            # Screenshots / architecture diagrams
├── src/             # Original Endee source code
└── README.md

Setup Instructions

1. Clone Repository

git clone https://github.com/YOUR_USERNAME/endee.git
cd endee

2. Start Endee Server

docker run --ulimit nofile=100000:100000 -p 8090:8080 -v %cd%/endee-data:/data --name endee-server --restart unless-stopped endeeio/endee-server:latest

3. Run Backend

cd backend
mvn spring-boot:run

4. Run Frontend

cd frontend
npm install
npm run dev

API Endpoints

Upload Resume

POST /api/resumes/upload

Match Job Description

POST /api/match

Get All Resumes

GET /api/resumes

Future Improvements

  • Resume parsing with advanced NLP
  • Skill extraction and tagging
  • Recruiter authentication system
  • Job posting management
  • Candidate feedback/analytics dashboard

Why This Project Demonstrates AI/ML + Endee Usage

This project demonstrates practical AI/ML implementation by:

  • Using embeddings for semantic understanding
  • Leveraging vector similarity search
  • Integrating Endee as production vector database
  • Building a real-world AI-powered recruitment workflow

Submission Notes

This project was built as part of an AI/ML assignment requiring:

  • Usage of Endee vector database
  • Practical AI application implementation
  • Forked Endee repository as project base

Author

Mohamed Thousif

GitHub: https://github.com/MohamedThousif2005

About

Endee.io – A high-performance vector database, designed to handle up to 1B vectors on a single node, delivering significant performance gains through optimized indexing and execution. Also available in cloud https://endee.io/

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 96.7%
  • CMake 1.6%
  • Shell 1.4%
  • Dockerfile 0.3%