Skip to content

qcbit/resume-ats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

108 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resume-ATS: AI-Powered Resume Scoring Assistant

The AI-powered Resume/ATS Scoring Assistant automates screening and scoring resumes using large language models (LLMs). It evaluates resumes against job descriptions, offering feedback and recommendations to improve efficiency and accuracy in applicant tracking systems (ATS).

Architecture

This project uses a microservices architecture with:

  • Frontend UI - React-based interface for resume uploads and results
  • Backend Server - Node.js/Express for file handling and service orchestration
  • AI Services:
    • Job Title Detector - Extracts job titles from the job descriptions
    • Keywords Extractor - Uses LLM to identify relevant skills and keywords
    • Match Scorer - Uses LLM to evaluate resume-job compatibility

Getting Started

Prerequisites

  • macOS (for brew installation)
  • Docker Desktop
  • Internet connection
  • OpenAI API key (for keyword extraction)
  1. Install Homebrew

make install-brew

  1. Install required tools

make install-tools

  1. Create a KinD Kubernetes cluster.

make kind-create

  1. Change context
kubectx kind-resume-ats-dev-cluster
  1. Use k9s to manage the cluster.

  2. Create the OpenAI API key secret. Note: This exposes your key to the console and history.

kubectl create secret generic openai-api-key --from-literal=OPENAI_API_KEY=your-actual-openai-api-key

(Preferably) Insert your OpenAI key in deployment/openai-secret.yaml

apiVersion: v1
kind: Secret
metadata:
  name: openai-api-key # Ensure this name matches what deployments expect
type: Opaque
stringData:
  OPENAI_API_KEY: "sk-..." # <-- Put your actual key here

Then run kubectl apply -f deployment/openai-secret.yaml.

  1. Deploy backend microservices

make deploy-backend-services

  1. Deploy frontend services

make deploy-frontend-services

  1. Deploy the ingress.

make deploy-ingress

Note: The ingress status will initially be stuck in Pending.

  1. Label the node for ingress
# Get the node name
kubectl get nodes

# Add the ingress-ready label (replace with your node name)
kubectl label node resume-ats-dev-cluster-control-plane ingress-ready=true
  1. Access the page http://localhost:30211.

Links

Frontend Documentation

Backend Services Documentation

About

The AI-powered Resume/ATS Scoring Assistant automates screening and scoring resumes using large language models (LLMs). It evaluates resumes against job descriptions, offering feedback and recommendations to improve efficiency and accuracy in applicant tracking systems (ATS).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors