A web-based resume ranking system that uses fuzzy logic to evaluate and rank candidate resumes based on job descriptions.
The system utilizes a Python backend for processing logic, Node.js to handle execution using the spawn function, and a modern TypeScript + React frontend for interaction.
- 🔍 Intelligent ranking using fuzzy logic
- 📁 Resume and Job Description upload support
- 🚀 Cross-language integration: Node.js (backend) + Python (ranking logic)
- ⚛️ Frontend developed with TypeScript and React
- 📤 Real-time results displayed on the frontend
- 🧪 Easily extendable with more evaluation criteria
- Node.js
- Used
child_process.spawn()to interface with Python - Handles resume/job description file uploads
- Sends files to Python for processing and returns rankings
- Used
- Used for implementing fuzzy logic ranking
- Libraries:
fuzzywuzzy– String similarityskfuzzy– Fuzzy logic controlpandas,numpy– Data manipulation
- Reads resumes and job description
- Applies fuzzy rules to rank resumes
- React + TypeScript
- Clean UI to upload resumes and job description
- Fetches and displays ranked list
- Uses
axiosfor API calls
- User uploads resumes and a job description from the React frontend.
- Backend receives the data and uses
spawnto execute the Python script:const { spawn } = require('child_process'); const py = spawn('python', ['ranker.py', 'data/input.json']);