File size: 6,280 Bytes
ee18ce8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2645749
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
---
title: TalentScout AI
emoji: πŸ€–
colorFrom: indigo
colorTo: purple
sdk: streamlit
sdk_version: "1.34.0"
app_file: app.py
pinned: false
---


# πŸ€– TalentScout - AI Hiring Assistant

A sophisticated AI-powered hiring assistant built with Streamlit that streamlines the recruitment process through intelligent candidate screening and technical assessment.

## 🌟 Features

- **Automated Candidate Screening**: Collects essential candidate information systematically
- **Dynamic Technical Assessment**: Generates relevant technical questions based on candidate's tech stack
- **Interactive Chat Interface**: User-friendly conversational experience
- **Real-time Progress Tracking**: Visual progress indicators for both candidate and recruiter
- **Data Export Functionality**: Export candidate data and responses in JSON format
- **Responsive Design**: Works seamlessly across different screen sizes
- **Input Validation**: Ensures data quality with email and phone number validation

## πŸš€ Live Demo

Try the application live on Hugging Face Spaces: [TalentScout AI Assistant](https://huggingface.co/spaces/YOUR_USERNAME/talentscout-ai)

## πŸ“‹ How It Works

The application follows a structured screening process:

1. **Welcome & Introduction**: Introduces the AI assistant and process
2. **Personal Information Collection**: 
   - Full name
   - Email address (with validation)
   - Phone number (with validation)
   - Years of experience
   - Desired positions
   - Current location
3. **Technical Profile**: Tech stack and expertise areas
4. **Technical Assessment**: Dynamic questions based on provided tech stack
5. **Completion**: Summary and next steps

## πŸ› οΈ Technical Stack

- **Frontend**: Streamlit
- **Language**: Python 3.8+
- **Data Processing**: Built-in Python libraries (json, re, datetime)
- **UI/UX**: Custom CSS styling with Streamlit components

## πŸ—οΈ Installation & Setup

### Local Development

1. **Clone the repository**
   ```bash
   git clone https://github.com/YOUR_USERNAME/talentscout-ai.git
   cd talentscout-ai
   ```

2. **Create virtual environment**
   ```bash
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
   ```

3. **Install dependencies**
   ```bash
   pip install -r requirements.txt
   ```

4. **Run the application**
   ```bash
   streamlit run app.py
   ```

5. **Open your browser** and navigate to `http://localhost:8501`

### Hugging Face Deployment

1. **Fork/Upload to GitHub**
2. **Connect to Hugging Face Spaces**
3. **Select Streamlit as the framework**
4. **Deploy automatically**

## πŸ“ Project Structure

```
talentscout-ai/
β”œβ”€β”€ app.py                 # Main application file
β”œβ”€β”€ requirements.txt       # Python dependencies
β”œβ”€β”€ README.md             # Project documentation
β”œβ”€β”€ DOCUMENTATION.md      # Detailed code documentation
└── .gitignore           # Git ignore file
```

## 🎯 Key Components

### CandidateInfo Class
- Dataclass for storing candidate information
- Includes validation and structured data management

### HiringAssistant Class
- Main application logic
- Conversation flow management
- Technical question generation
- Input validation and processing

### Conversation Stages
1. Greeting (0)
2. Name Collection (1)
3. Email Collection (2)
4. Phone Collection (3)
5. Experience Collection (4)
6. Position Collection (5)
7. Location Collection (6)
8. Tech Stack Collection (7)
9. Technical Questions (8)
10. Completion (9)

## πŸ”§ Configuration

The application includes several configurable elements:

- **Tech Categories**: Predefined technology categories for question generation
- **Question Templates**: Customizable technical questions for different technologies
- **Validation Rules**: Email and phone number validation patterns
- **UI Styling**: Custom CSS for enhanced user experience

## πŸ“Š Supported Technologies

The AI assistant can generate technical questions for:

- **Programming Languages**: Python, Java, JavaScript, C++, C#, Go, Rust, PHP, Ruby, Swift, Kotlin
- **Web Frameworks**: Django, Flask, FastAPI, React, Angular, Vue.js, Node.js, Express, Spring, Laravel
- **Databases**: MySQL, PostgreSQL, MongoDB, Redis, SQLite, Oracle, Cassandra, Elasticsearch
- **Cloud Platforms**: AWS, Azure, GCP, Docker, Kubernetes, Terraform
- **Data Science**: Pandas, NumPy, Scikit-learn, TensorFlow, PyTorch, Matplotlib, Seaborn
- **Mobile**: React Native, Flutter, Android, iOS, Xamarin

## 🎨 UI Features

- **Gradient Header**: Eye-catching header with company branding
- **Sidebar Information**: Real-time candidate data display
- **Progress Tracking**: Visual progress bar and stage indicators
- **Chat Interface**: Conversational UI with distinct message styling
- **Responsive Design**: Adapts to different screen sizes

## πŸ“€ Data Export

The application provides data export functionality:
- Candidate information summary
- Technical Q&A responses
- Session metadata
- JSON format for easy integration

## 🚦 Usage Guidelines

1. **Start Session**: Begin with the welcome message
2. **Follow Prompts**: Answer each question as prompted
3. **Technical Questions**: Provide detailed answers for technical assessment
4. **Review Summary**: Check the completion summary
5. **Export Data**: Download session data if needed

## πŸ”’ Data Privacy

- No data is stored permanently on servers
- Session data is cleared after completion
- Export functionality allows local data storage
- Follows best practices for data handling

## 🀝 Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## πŸ“ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## πŸ™ Acknowledgments

- Built with [Streamlit](https://streamlit.io/)
- Inspired by modern recruitment automation needs
- Designed for seamless candidate experience

## πŸ“ž Support

For support, please create an issue in the GitHub repository or contact the development team.

---

**TalentScout AI Hiring Assistant** - Streamlining recruitment through intelligent automation πŸš€