Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InterviewSimAI

An AI-powered technical interview simulator that conducts interactive mock interviews using Large Language Models (LLMs). The platform generates technical questions, evaluates candidate responses, adapts follow-up questions based on interview context, and provides structured feedback to help users prepare for real-world interviews.


Features

  • AI-generated technical interview questions
  • Adaptive follow-up questioning
  • Context-aware interview flow using LangGraph
  • Real-time communication between frontend and backend
  • Modular LLM workflow
  • Dockerized deployment
  • Clean and lightweight web interface

Tech Stack

Frontend

  • HTML
  • CSS
  • Vanilla JavaScript

AI Backend

  • Python
  • LangGraph
  • Large Language Models (LLMs)

Server

  • Node.js
  • Express
  • WebSockets

Infrastructure

  • Docker
  • Docker Compose

Architecture

User
   │
   ▼
HTML/CSS/JavaScript Frontend
   │
   ▼
Node.js Server
   │
   ▼
Python LangGraph Service
   │
   ▼
Large Language Model

The Node.js server manages communication between the frontend and the AI service, while the Python backend orchestrates interview logic using LangGraph workflows.


Repository Structure

InterviewSimAI/
│
├── docker-compose.yml          # Multi-service deployment
│
├── frontend/
│   └── index.html              # Web interface
│
├── genai-server/
│   ├── Dockerfile
│   ├── framework.py            # AI framework utilities
│   ├── graph.py                # LangGraph workflow
│   ├── main.py                 # AI service entry point
│   ├── requirements.txt
│   ├── workflow.ipynb
│   └── revised_workflow.ipynb
│
└── node-server/
    ├── Dockerfile
    ├── package.json
    └── server.js               # Communication server

Workflow

  1. User starts an interview from the web interface.
  2. The frontend sends responses to the Node.js server.
  3. The server forwards requests to the Python AI service.
  4. LangGraph manages the interview state and orchestrates the LLM workflow.
  5. The LLM generates interview questions and context-aware follow-up questions.
  6. Responses are streamed back to the frontend for a seamless interview experience.

Running Locally

Clone the repository

git clone https://github.com/Tejasisnothere/InterviewSimAI.git
cd InterviewSimAI

Build and start the application

docker compose up --build

This launches:

  • Frontend
  • Node.js server
  • Python AI service

Future Improvements

  • Voice-based interviews
  • Resume-aware interview generation
  • Coding interview support
  • Interview performance analytics
  • Multi-round interview simulations
  • Authentication and interview history
  • Support for multiple LLM providers

Author

Tejas Kadam

If you found this project useful, feel free to star the repository or connect with me.

About

An Interview Simulator created powered by an LLM which asks questions and reviews codes. Accordingly reviews and grades.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages