Automated AI Resume Screening is a web application that allows users to upload resumes and job descriptions in PDF format. The system processes these documents using AI and NLP techniques to extract skills, education, experience, and match resumes with job descriptions based on similarity scores.
- Upload resumes and job descriptions (PDF format)
- Extract and analyze skills, education, and experience
- Predict the most relevant job category for a resume
- Compute resume-job matching scores based on skills and similarity
- Store and retrieve screening results from the database
- Built using FastAPI (backend) and React TypeScript (frontend)
- FastAPI (Python)
- SQLAlchemy (Database ORM)
- PostgreSQL (Database)
- PyPDF2 (PDF processing)
- Flair (Named Entity Recognition for extracting names)
- Sentence Transformers (Semantic text similarity)
- Scikit-learn (Machine learning models)
- React.js (TypeScript)
- Bootstrap & Chart.js (Visualization)
- Clone the repository:
git clone https://github.com/alihassanml/Automated-AI-Resume-Screening.git cd Automated-AI-Resume-Screening/backend
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Run the FastAPI server:
uvicorn main:app --reload
- Navigate to the frontend directory:
cd ../frontend
- Install dependencies:
npm install
- Start the React development server:
npm run dev
- Endpoint:
POST /upload
- Description: Uploads a resume and job description for processing
- Request Body: Multipart form with
resume
andjob
files (PDF) - Response: JSON containing processing results and database entry ID
- Endpoint:
GET /results/{id}
- Description: Fetches the screening result for a given ID
- Response: JSON containing extracted details, matching scores, and resume ranking
- User uploads a resume and job description
- System extracts skills, education, experience using NLP
- Computes skill and text similarity scores
- Predicts the job category for the resume
- Stores the results in a database
- User retrieves the results via the API or frontend
- Improve job matching using deep learning models (e.g., BERT)
- Support for additional file formats (e.g., DOCX)
- Expand the frontend UI for better visualization
- Integration with job portals for automated screening
This project is licensed under the MIT License.
For any queries, reach out to Ali Hassan.