File size: 3,510 Bytes
43ceeff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---

title: Virtual Interviewer
emoji: 🎯
colorFrom: indigo
colorTo: purple
sdk: streamlit
sdk_version: 1.28.0
app_file: app.py
pinned: false
license: mit
---


# Virtual Interviewer

[![Open in Spaces](https://huggingface.co/datasets/huggingface/badges/resolve/main/open-in-hf-spaces-sm.svg)](https://huggingface.co/spaces/username/virtual-interviewer)
[![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/username/virtual-interviewer)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![OpenAI](https://img.shields.io/badge/OpenAI-GPT--4o-green.svg)](https://openai.com/)

A Streamlit application that simulates job interviews using OpenAI's GPT-4o model. This tool helps users practice for interviews by generating relevant questions based on job descriptions and providing feedback on their answers.

![Virtual Interviewer Demo](https://your-image-url-here.png)

## 🌟 Features

- πŸ’Ό Generate interview questions based on job descriptions
- 🎭 Support for both technical and non-technical interviews
- πŸ“Š Adjustable difficulty levels (Easy, Medium, Hard)
- πŸ” Focus on specific key topics
- πŸ“ Score interview responses with detailed feedback
- πŸ’‘ Generate ideal answers for comparison
- πŸ”Š Text-to-speech for questions with multiple voice options
- πŸ“ˆ Visual score summary with performance analytics
- 🎨 Modern, responsive UI with intuitive controls

## πŸš€ Quick Start

1. Enter your OpenAI API key
2. Paste a job description or use the default Solution Architect example
3. Configure your interview settings:
   - Select interview type (Technical or Non-technical)
   - Choose difficulty level (Easy, Medium, Hard)
   - Customize key topics
   - Enable/disable scoring and ideal answers
   - Set the number of questions
   - Enable text-to-speech and select a voice (optional)
4. Click "Start Interview" to begin
5. Answer each question and click "Next Question" to proceed
6. Review your performance with the visual score summary and detailed feedback

## πŸ“‹ Requirements

- Python 3.8+
- OpenAI API key
- Required packages (installed automatically):
  - streamlit
  - openai
  - pandas
  - edge-tts

## πŸ’» Installation for Local Development

1. Clone the repository:
   ```bash

   git clone https://github.com/username/virtual-interviewer.git

   cd virtual-interviewer

   ```

2. Install the required dependencies:
   ```bash

   pip install -r requirements.txt

   ```

3. Run the Streamlit application:
   ```bash

   streamlit run app.py

   ```

## πŸ”’ Privacy and Security

- Your OpenAI API key is used only for making API calls and is not stored permanently
- Interview data is stored only in your browser's session
- All processing happens on your local machine or within the HuggingFace Space
- No data is sent to external servers beyond the necessary API calls to OpenAI

## 🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

## πŸ™ Acknowledgements

- Built with [Streamlit](https://streamlit.io/)
- Powered by [OpenAI GPT-4o](https://openai.com/)
- Text-to-speech provided by [Edge-TTS](https://github.com/rany2/edge-tts)