An task management system that leverages AI to analyze project requirements, generate interview questions, and match suitable tasks to specific roles using semantic similarity.
- AI-Powered Project Analysis: Uses Gemini to analyze project details and extract relevant information
- Dynamic Interview Generation: Generates 5 simple, foundational interview questions to assess their basic understanding, learning enthusiasm, and natural inclinations toward different technical roles
- Role-Task Matching: Employs a fine-tuned Siamese neural network to match tasks with appropriate roles (Backend Developer, Frontend Developer, Project Manager, UX/UI Designer) based on semantic similarity
- Comprehensive Task Database: Includes a dataset of over 20,000 categorized tasks with associated skills
The system consists of four main components:
- API Chatbot (
apichatbot.py): Handles AI communication and project analysis - Role-Task Matcher (
botcompae.py): Performs semantic matching using pre-trained models - Data Processing (
data.py): Manages dataset operations and preprocessing - Feature Engineering (
feature_engineering.py): Handles data transformation and feature extraction
task-manager/
├── main.py # Main application entry point
├── dataset/ # Data files
│ ├── hr_dashboard_data.csv # HR dashboard data
│ ├── Task Catagories.csv # Task categories and skills mapping
│ └── updated_hr_data.csv # Updated HR dataset
├── models/ # Pre-trained models
│ └── role_task_siamese_v1/ # Siamese network for role-task matching
├── src/ # Source code modules
│ ├── apichatbot.py # AI chatbot implementation
│ ├── botcompae.py # Role-task matching logic
│ ├── data.py # Data handling utilities
│ ├── feature_engineering.py # Feature processing
│ └── suitabilty.py # Suitability assessment
└── README.md # Project documentation
- Python 3.8 or higher
- Google Generative AI API key
- Required Python packages (see installation section)
-
Clone the repository:
git clone https://github.com/Gun249/task-manager.git cd task-manager -
Install required dependencies:
pip install -r requirements.txt
-
Download spaCy language model:
python -m spacy download en_core_web_lg
-
Set up environment variables: Create a
.envfile in the root directory and add your API key:apikey=your_google_generative_ai_api_key_here -
Verify model files: Ensure the pre-trained Siamese model is in the
models/role_task_siamese_v1/directory.
-
Run the application:
python main.py
-
Provide project details: When prompted, enter a detailed description of your project requirements.
-
Answer interview questions: The system will generate 5 simple, foundational questions based on your project. These questions help the AI understand your basic technical understanding, interests, and problem-solving approach without requiring deep existing knowledge.
-
Review results: The system will output:
- Recommended role for your project
- Matching tasks with similarity scores
The system uses a pre-trained Siamese neural network located in models/role_task_siamese_v1/. You can customize the matching behavior by adjusting:
- Similarity Threshold: Minimum cosine similarity score for task matching (default: 0.4)
- Model Path: Path to the sentence transformer model
The system integrates with Gemini. Configure your API settings in the .env file:
apikey=your_api_key_here
The system utilizes a comprehensive dataset containing:
- 20,000+ Task Descriptions: Categorized by role and required skills
- Role Categories: Backend Developer, Frontend Developer, etc.
- Skill Mappings: Technologies and frameworks associated with each task
- Analyzes project requirements using Gemini
- Generates 5 simple, foundational interview questions tailored
- Creates questions designed to assess basic understanding, learning enthusiasm, and problem-solving approach
- Extracts tasks aligned with four major roles: Backend Developer, Frontend Developer, Project Manager (PM), and UX/UI Designer
- Processes user responses to determine the most suitable role
- Uses SentenceTransformer for semantic similarity
- Employs cosine similarity for task-role matching
- Configurable similarity thresholds
- Returns ranked task recommendations
-
Input: "I need to build a web application with user authentication and data visualization"
-
AI Analysis: System generates 5 simple, foundational interview questions :
- Basic understanding and enthusiasm for learning
- Initial technical inclinations and preferences
- Foundational problem-solving mindset
- Natural curiosity across Backend, Frontend, PM, and UX/UI concepts
- How students articulate their thoughts on basic technical concepts
-
Role Recommendation: "Backend Developer"
-
Task Matching:
- Implement user authentication (Score: 0.8542)
- Design database schema (Score: 0.7891)
- Create API endpoints (Score: 0.7645)
- Extend the dataset: Add new task categories in
dataset/Task Catagories.csv - Customize prompts: Modify AI prompts in
apichatbot.py - Adjust matching logic: Update similarity calculations in
botcompae.py
Run the application with sample data to verify functionality:
python main.py- Google Generative AI for natural language processing
- Sentence Transformers library for semantic similarity
- The open-source community for various dependencies and tools
Note: This system is designed for educational and research purposes. Ensure you have proper API keys and follow the terms of service for all integrated services.