An AI-powered web application that analyzes resumes, predicts suitable job roles, performs skill gap analysis, detects experience level, identifies spelling mistakes, provides resume improvement suggestions, and includes a chatbot assistant for guidance.
Design and develop an end-to-end AI-based Resume Screening System with a Chatbot Assistant that:
- Automatically analyzes resumes and predicts suitable job roles
- Provides actionable insights for resume improvement
- Assists users interactively through an AI-powered chatbot
Manual resume screening and candidate guidance are:
- Time-consuming and inconsistent
- Error-prone for recruiters
- Lacking in actionable feedback for applicants, such as:
- Skill gaps
- Role alignment
- Resume quality issues
- Experience level detection
- Guidance through questions via chatbot
ResumeMaster provides an intelligent platform that:
- Accepts resumes in PDF, DOCX, and TXT formats
- Extracts and cleans resume text using NLP
- Predicts the most suitable job role using TF-IDF + Logistic Regression
- Shows Top 3 role recommendations with confidence scores
- Matches candidate skills with job requirements and highlights missing skills
- Detects spelling mistakes and suggests corrections
- Identifies experience level (Fresher / Junior / Mid / Senior)
- Provides a chatbot assistant for resume and career guidance
-
Resume Screening:
- Upload resume → Extract text → Preprocess → Convert to TF-IDF → Predict job role → Generate:
- Predicted job role
- Top 3 role recommendations
- Matched & missing skills
- Spelling mistakes and suggestions
- Experience level classification
- Resume improvement suggestions
- Upload resume → Extract text → Preprocess → Convert to TF-IDF → Predict job role → Generate:
-
Chatbot Assistance:
- User interacts with chatbot
- Chatbot answers questions on resume improvement, skill building, career guidance
- Powered by AI with NLP and retrieval-augmented knowledge
Resume Screening:
- Text preprocessing (regex cleaning, normalization)
- TF-IDF Vectorization
- Logistic Regression classifier
- Skill extraction via keyword matching
- Spelling correction using TextBlob or SymSpell
- Optional NLP improvements using NLTK or spaCy
Chatbot:
- Large Language Model (LLM) / GPT-style
- Retrieval-Augmented Generation (RAG) for real-time guidance
- Vector embeddings stored in FAISS or similar for semantic search
- Context-aware responses and multi-turn conversations
Backend:
- Python
- Flask (web app)
- scikit-learn
- NLTK / TextBlob / spaCy
- PDFMiner / pdfplumber (PDF parsing)
- python-docx (DOCX parsing)
- Pandas & NumPy
Frontend:
- HTML, CSS, JavaScript
- Bootstrap or TailwindCSS for styling
Chatbot:
- Python (Flask API)
- FAISS vector database
- OpenAI GPT / LLM integration for query responses
Other Tools:
- Git & GitHub for version control
- Optional: pdfkit for generating downloadable PDF reports
- Multi-format resume upload (PDF, DOCX, TXT)
- Automated resume text extraction & cleaning
- Job role prediction (Logistic Regression)
- Top 3 role recommendations with confidence scores
- Matched & missing skills (skill gap analysis)
- Experience level detection
- Spelling mistake detection & suggestions
- Resume improvement tips
- Chatbot assistant for guidance and Q&A
- Downloadable resume analysis report (PDF)
- Predicted job role
- Top 3 role recommendations with confidence
- Matched & missing skills
- Experience level classification
- Spelling mistakes and suggestions
- Resume improvement insights
- Interactive chatbot assistance
- Clone the repository:
git clone https://github.com/Ankitaghavate/ResumeMaster-ATS.git
cd ResumeMaster-ATS- Create a virtual environment (recommended)
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate- Install dependencies
pip install -r requirements.txt- Run the Flask application
python app.py- Open in your browser
http://127.0.0.1:5000/
A demo may be available at: https://resume-master--ank26.replit.app | https://resumemaster-ats-1.onrender.com
app.py— Flask application entrypointbest_model.pkl— Trained Logistic Regression modeltfidf.pkl— TF-IDF vectorizer used for feature extractionlabel_encoder.pkl— Label encoder for job rolesAI_Resume_Screening.ipynb— Notebook used for data exploration and model trainingUpdatedResumeDataSet.csv— Dataset used for training
- Ensure the pretrained model and vectorizer files (
best_model.pkl,tfidf.pkl,label_encoder.pkl) are present in the repo root. - For production deployment, consider:
- Using a proper WSGI server (Gunicorn / uWSGI)
- Packaging models or loading them from secure storage
- Adding rate-limiting and authentication for the API
- Improving parsing for complex resume formats (tables, images)
- Using a more advanced spell-checker or contextual model for suggestions
Contributions are welcome! Please open issues or pull requests for bug fixes, improvements, or feature requests.
Suggested workflow:
- Fork the repository
- Create a feature branch:
git checkout -b feat/my-change - Commit changes:
git commit -m "Add my feature" - Push and open a PR
Specify your license here (e.g., MIT). Add a LICENSE file to the repository.
For questions, feature requests, or help, open an issue or contact the repository owner: Ankitaghavate