RecruitX is an AI-powered Hiring Assistant that streamlines the candidate screening process. It collects candidate details, generates technical interview questions based on the provided tech stack, and evaluates responses. The chatbot is designed to enhance the efficiency of the hiring process by automating initial screenings and providing structured feedback.
- Python 3.8+
- Virtual Environment (recommended)
- Required dependencies (listed in
requirements.txt)
-
Clone the Repository
git clone https://github.com/aldol07/RecruitX.git cd RecruitX -
Create a Virtual Environment
python -m venv recruitx_env source recruitx_env/bin/activate # On Windows use `recruitx_env\Scripts\activate`
-
Install Dependencies
pip install -r requirements.txt
-
Set Up Environment Variables
- Create a
.envfile in the project root directory. - Add necessary API keys and configuration variables.
- Create a
-
Run the Application
python app.py
- Run
app.pyto start the chatbot. - The chatbot will ask for candidate details.
- It will generate technical questions based on the provided tech stack.
- Responses are analyzed and saved in
candidate_details.json.
- Backend: Python (Flask)
- Libraries:
ollama(for AI-powered question generation and response analysis)textblob(sentiment analysis)pdfplumber,python-docx(resume text extraction)
- Data Handling: JSON file storage for candidate interactions
- Greeting & Information Gathering:
- The chatbot starts with a friendly greeting and asks for candidate details.
- Technical Question Generation:
- Uses a predefined prompt format to generate relevant interview questions.
- Response Analysis:
- Evaluates sentiment, hesitation, and relevance.
- Challenge: Ensuring the AI generates domain-specific technical questions.
- Solution: Fine-tuned prompt engineering to optimize question generation.
- Challenge: Handling unstructured resume data.
- Solution: Used
pdfplumberandpython-docxfor text extraction and LLM-based parsing.
- Solution: Used
- Modular structure (
utils.pyfor helper functions,prompts.pyfor prompt design). - Follows best coding practices and is well-commented.
- Each function includes docstrings for clarity.
README.mdserves as a comprehensive guide.
- Git is used for version control.
- Clear commit messages and structured repository organization.