ResumeIQ is an advanced Resume Intelligence Platform that leverages Machine Learning to automatically categorize resumes, extract technical skills, and semantically match candidates to job descriptions.
Built with a high-performance Python FastAPI backend and a clean, dependency-free vanilla HTML/JS frontend.
- Resume Classification: Automatically categorizes resumes into 6 distinct industry verticals (AI/ML, Software Development, Data Science, Cloud/DevOps, Cybersecurity, Data Engineering) using a TF-IDF and Logistic Regression model.
- Skill Extraction: Parses and extracts core technical skills from unstructured resume text.
- Semantic Job Matching: Compares candidate resumes against job descriptions using cosine similarity to generate an alignment score.
- Real-time Analytics Dashboard: Features an interactive Confusion Matrix, live usage tracking, and classification metrics.
- Clean Export: Dedicated print stylesheets for exporting analyzed data seamlessly to PDF.
- Responsive UI: A highly polished, modern user interface built from the ground up without heavy frontend frameworks.
- Backend: Python 3.11, FastAPI, Uvicorn
- Machine Learning: Scikit-Learn, Pandas, NumPy
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Deployment: Docker, AWS EC2
.
├── backend/
│ └── app/
│ └── main.py # FastAPI application & API endpoints
├── data/ # Generated synthetic training data
├── frontend/ # Static HTML, CSS, and JS files
├── models/ # Saved ML model binaries (Pickle files)
├── scripts/
│ ├── gen_data.py # Generates synthetic data for the ML model
│ └── gen_pages.py # Utility script for generating HTML templates
├── Dockerfile # Production container configuration
└── requirements.txt # Python dependencies
-
Clone the repository:
git clone https://github.com/Mrvikas06/ResumeIQ.git cd ResumeIQ -
Install dependencies:
pip install -r requirements.txt
-
Generate training data and train the model:
python scripts/gen_data.py python -c "import sys; sys.path.insert(0, 'backend'); from models.pipeline import train_classifier; train_classifier()" -
Start the development server:
uvicorn backend.app.main:app --reload
-
Access the application: Open your browser and navigate to
http://127.0.0.1:8000.
ResumeIQ is fully containerized and ready for production deployment on AWS EC2 or any Docker-compatible hosting environment.
- SSH into your EC2 instance.
- Clone the repository.
- Build the Docker image (this step automatically trains the ML model):
docker build -t resumeiq . - Run the container on port 80:
docker run -d -p 80:8000 resumeiq
The platform will now be accessible via your EC2 instance's public IP address or configured domain name.
MIT License