Skip to content

A comprehensive AI-powered technical interview platform that conducts real-time interviews with candidates, featuring voice interaction, code assessment, behavioral monitoring, and automated result generation for recruiters.

Notifications You must be signed in to change notification settings

muhammadnavas/AI-Technical-Interviewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

40 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AI Technical Interviewer

A comprehensive AI-powered technical interview platform that conducts real-time interviews with candidates, featuring voice interaction, code assessment, behavioral monitoring, and automated result generation for recruiters.

๐Ÿš€ Live Demo

Experience the platform with our live demo applications:

Platform Description Demo Link
๐Ÿข Job Portal Complete hiring workflow with job posting and applications Try Demo โ†’
๐Ÿ“… Interview Scheduler Schedule and manage AI-powered technical interviews Try Demo โ†’
๐Ÿ’ป Code Analysis Advanced code assessment and technical evaluation Try Demo โ†’
๐Ÿค– AI Interviewer Interactive AI-powered candidate interviews Try Demo โ†’

๐ŸŽฏ Ready to transform your hiring process? Start with our Job Portal Demo to see the complete workflow!

๐ŸŒŸ Features

Core Interview Capabilities

  • AI-Powered Interviews: GPT-4 driven conversational interviews tailored to candidate profiles
  • Real-time Voice Interaction: Speech-to-text and text-to-speech for natural conversation flow
  • Live Coding Assessment: Integrated code editor with multiple programming language support
  • Behavioral Monitoring: Face detection and object detection to ensure interview integrity

Interview Management

  • Session Scheduling: Schedule interviews with email notifications
  • Candidate Profiles: Upload and manage detailed candidate profiles with skills, projects, and experience
  • Custom Questions: Generate AI-tailored questions based on candidate background
  • Interview Results: Automated transcription, AI-refined summaries, and recruiter-friendly reports

Technical Monitoring

  • Video Surveillance: Real-time face and object detection during interviews
  • Code Editor Integration: Live coding exercises with test case validation
  • Session Recording: Complete interview transcripts and coding submissions
  • Email Integration: Automated notifications using Resend API

๐Ÿ“ธ Platform Screenshots

๐Ÿข Job Portal for Recruiters & Candidates

Job Portal
Comprehensive job portal with role-based access for both recruiters and candidates

๐Ÿ‘ฅ Candidate Shortlisting Process

Candidate Shortlisting
AI-powered candidate evaluation and shortlisting based on skills and experience

๐Ÿ“… AI Interview Scheduler

Interview Scheduler
Intelligent interview scheduling with automated calendar integration

๐Ÿ“‹ Interview Scheduling Process

Interview Scheduling Process
Step-by-step interview scheduling workflow with email notifications

๐Ÿšช Candidate Entry for Interview Session

Candidate Entry
Secure candidate authentication and interview session access portal

๐Ÿค– AI Interviewer for Candidates

AI Interviewer
Interactive AI-powered interview interface with real-time conversation

๐Ÿ’ป AI-Powered Coding Assessment

Coding Assessment
Advanced coding challenges with real-time evaluation and feedback

๐Ÿ” AI Powered Candidate Project Code Analysis

Code Analysis
Intelligent code analysis and technical skill assessment

๐Ÿš€ Tech Stack

Backend

  • Node.js with Express.js - RESTful API server
  • OpenAI GPT-4 - AI interview conductor
  • MongoDB with Mongoose - Database for profiles and results
  • Resend - Email service for notifications
  • CORS - Cross-origin resource sharing

Frontend

  • React 19 - Modern UI framework
  • Vite - Fast build tool and development server
  • TailwindCSS - Utility-first CSS framework
  • Three.js with @react-three/fiber - 3D avatar rendering
  • MediaPipe - Face detection capabilities
  • TensorFlow.js - Object detection models
  • Lucide React - Modern icon library

๐Ÿ“‹ Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • MongoDB (optional - falls back to filesystem storage)
  • OpenAI API Key
  • Resend API Key (for email features)

๐Ÿ› ๏ธ Installation

1. Clone the Repository

git clone https://github.com/muhammadnavas/AI-Technical-Interviewer.git
cd AI-Technical-Interviewer

2. Install Dependencies

# Install all dependencies (frontend and backend)
cd backend && npm run setup

Or install separately:

# Backend dependencies
cd backend
npm install

# Frontend dependencies
cd ../frontend
npm install

3. Environment Configuration

Copy the environment template:

cd backend
cp .env.example .env

Configure your .env file:

# OpenAI API Configuration (Required)
OPENAI_API_KEY=your_openai_api_key_here

# Email Configuration (Optional)
RESEND_API_KEY=your_resend_api_key_here
FROM_EMAIL=noreply@yourcompany.com

# MongoDB Configuration (Optional - uses filesystem if omitted)
MONGO_URI=mongodb://localhost:27017/ai_interviewer
MONGO_DB_NAME=ai_interviewer

# Frontend URLs
FRONTEND_URL=http://localhost:5173
PRODUCTION_FRONTEND_URL=https://your-production-url.com

# Server Configuration
PORT=3000

4. Start the Application

Development Mode (Both servers):

cd backend
npm run dev:full

Start Individually:

# Backend server
cd backend
npm run dev

# Frontend development server (in new terminal)
cd frontend
npm run dev

๐ŸŽฏ Usage Guide

For Recruiters

1. Candidate Profile Management

  • Upload candidate profiles via JSON files
  • Create detailed profiles with skills, experience, and project details
  • Generate AI-tailored interview questions automatically

2. Interview Setup

  • Schedule interviews with automatic email notifications
  • Configure custom questions and coding challenges
  • Set interview parameters (duration, difficulty level)

3. Session Management

  • Access live interviews for monitoring
  • Review real-time candidate performance
  • Export interview results and assessments

For Candidates

1. Interview Access

  • Join interviews using session ID and access token
  • Complete pre-interview setup and equipment checks
  • Participate in voice-based technical discussions

2. Coding Assessments

  • Solve programming challenges in integrated code editor
  • Multiple language support (JavaScript, Python, Java, etc.)
  • Real-time code execution and test validation

3. Behavioral Monitoring

  • Face detection ensures candidate presence
  • Object detection maintains interview integrity
  • 3D avatar provides engaging interview experience

๐Ÿ—๏ธ Project Structure

AI-Technical-Interviewer/
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”‚   โ””โ”€โ”€ InterviewSession.js    # MongoDB schema for sessions
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”‚   โ”œโ”€โ”€ sessions.js            # Interview session routes
โ”‚   โ”‚   โ”œโ”€โ”€ email.js               # Email notification routes
โ”‚   โ”‚   โ”œโ”€โ”€ integrations.js        # External integrations
โ”‚   โ”‚   โ””โ”€โ”€ scheduledSessions.js   # Session scheduling
โ”‚   โ”œโ”€โ”€ utils/
โ”‚   โ”‚   โ”œโ”€โ”€ emailService.js        # Email service utilities
โ”‚   โ”‚   โ””โ”€โ”€ sessionScheduler.js    # Session scheduling logic
โ”‚   โ”œโ”€โ”€ candidate-profiles/        # Candidate profile storage
โ”‚   โ”œโ”€โ”€ interview-results/         # Interview result storage
โ”‚   โ”œโ”€โ”€ server.js                  # Main server file
โ”‚   โ”œโ”€โ”€ package.json               # Backend dependencies
โ”‚   โ””โ”€โ”€ .env.example               # Environment template
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ InterviewSession.jsx    # Main interview interface
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ AIAvatar3D.jsx          # 3D avatar component
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ FaceDetector.jsx        # Face detection monitoring
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ObjectDetector.jsx      # Object detection monitoring
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ VideoMonitor.jsx        # Video monitoring panel
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MonitoringPanel.jsx     # Behavioral monitoring
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ SessionScheduler.jsx    # Interview scheduling
โ”‚   โ”‚   โ”œโ”€โ”€ pages/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ HomePage.jsx            # Landing page
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ InterviewSetup.jsx      # Interview configuration
โ”‚   โ”‚   โ”œโ”€โ”€ App.jsx                     # Main application component
โ”‚   โ”‚   โ”œโ”€โ”€ config.js                   # Frontend configuration
โ”‚   โ”‚   โ””โ”€โ”€ main.jsx                    # Application entry point
โ”‚   โ”œโ”€โ”€ package.json                    # Frontend dependencies
โ”‚   โ”œโ”€โ”€ vite.config.js                  # Vite configuration
โ”‚   โ”œโ”€โ”€ tailwind.config.js              # TailwindCSS configuration
โ”‚   โ””โ”€โ”€ index.html                      # HTML template
โ””โ”€โ”€ README.md                           # Project documentation

๐Ÿค 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

Development Guidelines

  • Follow ESLint configuration for code style
  • Add tests for new features
  • Update documentation for API changes
  • Ensure cross-browser compatibility

๐Ÿ“ง Support

For questions, issues, or feature requests:

๐Ÿ”ฎ Roadmap

  • Video recording and playback
  • Advanced analytics dashboard
  • Multi-language interview support
  • Integration with ATS systems
  • Mobile application support
  • Real-time collaboration features
  • Advanced code assessment metrics
  • Machine learning bias detection

๐Ÿ‘ฅ Collaborators

Contributor GitHub Profile
Muhammad Navas GitHub
Sanketh Shetty GitHub
Samarth Hegde GitHub

๐Ÿค How to Contribute

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

Ways to contribute:

  • ๐Ÿ› Report bugs and issues
  • ๐Ÿ’ก Suggest new features
  • ๐Ÿ”ง Submit pull requests
  • ๐Ÿ“š Improve documentation
  • โญ Star the repository to show support

Built with โค๏ธ by Muhammad Navas and the amazing contributors above

Transform your technical hiring process with AI-powered interviews that provide comprehensive, unbiased, and detailed candidate assessments.

About

A comprehensive AI-powered technical interview platform that conducts real-time interviews with candidates, featuring voice interaction, code assessment, behavioral monitoring, and automated result generation for recruiters.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages