Skip to content

Repository files navigation

AI Mock Interview Simulator

An AI-powered mock interview application that provides an interactive interview experience using voice input, speech recognition, AI-generated responses, role selection, and automated evaluation with feedback.


πŸ“Œ Overview

The AI Mock Interview Simulator is a Python-based application designed to simulate an interview environment for users preparing for technical and professional interviews.

The application provides an interactive interview session where users can select an interview role, answer questions using voice input, and receive an evaluation and feedback at the end of the interview.

The project combines speech recognition, AI language models, and a graphical user interface to create an interactive mock interview experience.


✨ Features

  • 🎀 Voice-based interview interaction
  • πŸ—£οΈ Speech-to-text processing
  • πŸ€– AI-powered interview experience
  • πŸ‘¨β€πŸ’Ό Role-based interview selection
  • πŸ’¬ Interactive interview questions and answers
  • πŸ“ Automated interview evaluation
  • πŸ“Š Evaluation score and feedback
  • πŸ”„ Follow-up questions during the interview
  • πŸ–₯️ Graphical User Interface
  • 🎧 Microphone and audio input support
  • 🏠 Local model-based processing

πŸ› οΈ Technology Stack

Programming Language

  • Python

User Interface

  • Tkinter

Speech Recognition

  • Vosk

AI / Language Model

  • GPT4All

Package Management

  • pip

Application Type

  • Desktop application
  • Local AI application
  • Voice-enabled application

🧩 Main Components

Tkinter GUI

Tkinter is used to provide the graphical user interface for the application.

The interface allows users to:

  • Select an interview role
  • Start an interview
  • Enter or provide answers
  • Start and stop voice recording
  • View the interview interaction
  • Receive evaluation and feedback

Vosk Speech Recognition

Vosk is used for speech recognition and converting microphone input into text.

The application uses Vosk to support voice-based answers during the interview.

GPT4All

GPT4All is used as the local AI language-model component of the application.

The language model is used to support the interview interaction and generate AI-based responses.


πŸ—οΈ System Architecture

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚        User           β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                                β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚    Tkinter GUI        β”‚
                    β”‚                       β”‚
                    β”‚ Role Selection        β”‚
                    β”‚ Interview Interface   β”‚
                    β”‚ Recording Controls    β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚                       β”‚
                    β–Ό                       β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚ Microphone      β”‚     β”‚ GPT4All         β”‚
          β”‚ Audio Input     β”‚     β”‚ Language Model  β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚                       β”‚
                   β–Ό                       β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”‚
          β”‚ Vosk            β”‚              β”‚
          β”‚ Speech-to-Text  β”‚              β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β”‚
                   β”‚                       β”‚
                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ Interview Processing  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                                β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ Evaluation & Feedback β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‚ Project Structure

AI-MOCK-INTERVIEW-SIMULATOR/
β”‚
β”œβ”€β”€ main.py
β”œβ”€β”€ README.md
β”œβ”€β”€ REPORT.pdf
β”œβ”€β”€ PPT.pptx
β”œβ”€β”€ AI MOCK INTERVIEW SIMULATOR OUTPUT.docx
β”œβ”€β”€ How_to_Run_AI_Mock_Interview_Simulator.docx
└── model/

πŸ’» Requirements

The project requires:

  • Python 3.8 or above
  • Windows, Linux, or macOS
  • Microphone/audio input
  • Python package manager (pip)
  • Vosk speech-recognition model
  • GPT4All-compatible language model

πŸš€ Installation

1. Clone the Repository

git clone https://github.com/raghish/AI-MOCK-INTERVIEW-SIMULATOR.git
cd AI-MOCK-INTERVIEW-SIMULATOR

2. Install Required Python Packages

Install the required dependencies using:

pip install -r requirements.txt

If a requirements.txt file is not available in your local copy, install the required packages according to the project configuration.


πŸŽ™οΈ Vosk Model Setup

The application uses a Vosk speech-recognition model for converting microphone audio into text.

Download the required Vosk model and place it inside the project directory using the model folder expected by the application.

Example structure:

AI-MOCK-INTERVIEW-SIMULATOR/
β”‚
β”œβ”€β”€ main.py
β”œβ”€β”€ model/
β”‚   └── Vosk Model Files
β”‚
└── README.md

The Vosk model must be available locally before starting the application.


πŸ€– GPT4All Model Setup

The application uses a GPT4All-compatible language model for AI-powered interview functionality.

Download the required model and place it inside the project directory using the model folder expected by the application.

Example:

model/
└── GPT4All Model

The required model must be downloaded before running the application.


▢️ How to Run

Navigate to the project directory:

cd AI-MOCK-INTERVIEW-SIMULATOR

Run the application:

python main.py

The application will open the graphical user interface.


🎯 Interview Workflow

Step 1 β€” Launch the Application

Run:

python main.py

The application opens a GUI window.

Step 2 β€” Select an Interview Role

Select the required role, such as:

  • Data Analyst
  • Software Developer
  • Other available roles

Step 3 β€” Start the Interview

Select the option to start the interview.

The application begins the interview interaction.

Step 4 β€” Provide Your Answer

Answers can be provided through the available input/voice interaction.

For voice input:

  • Start recording
  • Speak your answer
  • Stop recording when finished

Step 5 β€” Speech Recognition

The application uses Vosk to convert the recorded speech into text.

Step 6 β€” AI Interview Processing

The application uses GPT4All to support the interview interaction and generate AI-based responses.

Step 7 β€” Follow-up Questions

The AI interviewer can continue the interview with follow-up questions.

Step 8 β€” Evaluation

At the end of the interview, the application provides an evaluation score and feedback.


πŸ“Š Evaluation & Feedback

The application provides an evaluation stage after the interview.

The evaluation includes:

  • Interview performance assessment
  • Evaluation score
  • Feedback
  • Follow-up interaction during the interview

This allows users to understand their performance and identify areas for improvement.


πŸ”„ Application Workflow

Launch Application
        β”‚
        β–Ό
Select Interview Role
        β”‚
        β–Ό
Start Interview
        β”‚
        β–Ό
Receive Interview Question
        β”‚
        β–Ό
Provide Answer
        β”‚
        β–Ό
Voice Input
        β”‚
        β–Ό
Vosk Speech Recognition
        β”‚
        β–Ό
Convert Speech to Text
        β”‚
        β–Ό
GPT4All AI Processing
        β”‚
        β–Ό
Follow-up Question
        β”‚
        β–Ό
Continue Interview
        β”‚
        β–Ό
Interview Completed
        β”‚
        β–Ό
Evaluation & Feedback

🎀 Voice Interaction

The application supports microphone-based interaction.

The basic voice workflow is:

Microphone
    β”‚
    β–Ό
Audio Input
    β”‚
    β–Ό
Vosk
    β”‚
    β–Ό
Speech-to-Text
    β”‚
    β–Ό
Interview Answer

Make sure the system microphone is working correctly before starting a voice-based interview.


🧠 AI Processing

GPT4All provides the language-model component used by the application.

The AI component supports:

  • Interview interaction
  • Question-and-answer flow
  • Follow-up questions
  • AI-generated responses
  • Interview evaluation support

πŸ”§ Local Development

This project is designed to run locally.

The main application is started using:

python main.py

The application requires the necessary AI and speech-recognition models to be available locally.


πŸ”’ Privacy & Security

The project uses local AI and speech-processing components.

For safe usage:

  • Do not store sensitive personal information in the repository.
  • Do not upload private interview recordings.
  • Do not commit private credentials or API keys.
  • Keep downloaded model files and personal data outside the repository when appropriate.

πŸ“š Key Learning Areas

This project demonstrates practical experience with:

  • Python application development
  • Tkinter GUI development
  • Speech recognition
  • Voice-based application development
  • Natural language processing
  • Local AI model integration
  • GPT4All
  • Vosk
  • Microphone/audio processing
  • Interactive application workflows
  • AI-assisted interview evaluation
  • User interface design

🎯 Project Goals

The main goals of the project are to:

  • Provide an interactive mock interview environment
  • Enable voice-based interview interaction
  • Use speech recognition for spoken answers
  • Integrate a local AI language model
  • Simulate role-based interviews
  • Provide interview evaluation and feedback
  • Help users practice interview communication and responses

πŸ“ˆ Future Improvements

Potential future improvements include:

  • More interview roles
  • Improved interview evaluation
  • More detailed performance analytics
  • Additional language-model support
  • Enhanced user interface
  • Interview history and progress tracking
  • Additional speech-processing capabilities

πŸ“„ Project Documentation

Additional project documentation is available in the repository, including:

  • Project report
  • Project presentation
  • Project output documentation
  • Project run instructions

πŸ‘¨β€πŸ’» Author

Raghish S

B.Tech β€” Artificial Intelligence and Machine Learning

K. Ramakrishnan College of Technology

2022 – 2026

Connect


⭐ Project

AI Mock Interview Simulator

An AI-powered desktop application combining:

Python β€’ Speech Recognition β€’ Local AI β€’ Voice Interaction β€’ Interview Simulation

About

AI-powered mock interview simulator using Python, Vosk speech recognition, GPT4All, and voice-based interview interaction.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages