πŸ€– AI Interviewer β€” Autonomous AI-Powered Hiring Platform

Hackathon Project Β· Built with passion to revolutionize how companies discover talent.

![AI Interviewer](https://img.shields.io/badge/AI%20Interviewer-v1.0-6366F1?style=for-the-badge&logo=robot&logoColor=white) ![React](https://img.shields.io/badge/React-18-61DAFB?style=for-the-badge&logo=react&logoColor=black) ![Node.js](https://img.shields.io/badge/Node.js-Express-339933?style=for-the-badge&logo=node.js&logoColor=white) ![MongoDB](https://img.shields.io/badge/MongoDB-Atlas-47A248?style=for-the-badge&logo=mongodb&logoColor=white) ![Google Gemini](https://img.shields.io/badge/Google-Gemini%20AI-4285F4?style=for-the-badge&logo=google&logoColor=white) **AI Interviewer** is a fully autonomous, end-to-end intelligent recruitment platform that eliminates manual screening by conducting AI-driven technical interviews β€” complete with voice interaction, real-time proctoring, anti-cheating measures, and instant AI-scored reports.

🎯 The Problem We're Solving

Traditional hiring is broken:

  • Recruiters waste 80% of their time on initial screenings that yield little signal
  • Candidates wait weeks for feedback after submitting applications
  • Bias creeps in at every human touchpoint β€” from resume review to phone screens
  • Scaling is impossible β€” a team of 5 can't screen 500 applicants fairly

AI Interviewer automates the entire first-round process β€” from resume analysis to AI-scored interview reports β€” in under 15 minutes, with zero human effort.


✨ Core Features

πŸŽ™οΈ AI Voice Interview Engine

  • Candidate speaks naturally; AI asks intelligent, role-specific follow-up questions
  • Powered by Groq LLaMA for ultra-low latency voice responses
  • Real-time speech-to-text transcription with 4-second silence detection
  • Full conversation history for context-aware follow-up questions
  • Automatic session recording uploaded to Cloudinary

πŸ“„ Resume Intelligence (AI Resume Parsing)

  • Upload any PDF resume β€” AI extracts skills, experience, and key competencies
  • Google Gemini generates 10–15 custom questions tailored to the exact resume + role
  • MCQ assessment or voice interview mode, selectable per candidate

🧠 AI-Powered Question Generation

  • Dynamic question bank generated fresh per session β€” no repeat questions
  • Role-aware difficulty scaling (Beginner β†’ Expert)
  • Technical MCQ with distractors, or open-ended voice questions
  • Built-in Question Bank for admins to manually curate and store questions

πŸ›‘οΈ Real-Time Anti-Cheating Proctoring

  • Face detection via TensorFlow.js (coco-ssd model) β€” detects multiple faces
  • Object detection β€” flags mobile phones, books, papers in camera frame
  • Tab-switch monitoring β€” records and penalizes focus loss events
  • All violations logged and surfaced in the admin report dashboard

πŸ“Š Admin Command Center

  • Live Monitoring Dashboard β€” real-time feed of all ongoing interviews via Socket.IO
  • Hiring Analytics β€” completion rates, average scores, top-performing candidates
  • Role Management β€” create, activate/deactivate job postings with interview codes
  • Question Bank β€” curated question library with difficulty tags
  • Session Manager β€” full history of all candidate interviews with video playback
  • Workspace View β€” per-session detailed breakdown with candidate list
  • Platform Settings β€” configure AI model, proctoring strictness, timeouts
  • Admin Profile β€” role management and platform access control

πŸ‘€ Candidate Portal

  • Available Positions β€” live list of active job openings
  • Join by Code β€” private sessions with 6-digit interview codes
  • AI Practice Mode β€” unlimited practice interviews tailored to any job role
  • ATS Score Checker β€” upload resume and get ATS compatibility score + improvement tips
  • My Reports β€” full history of past assessment reports with AI feedback
  • PDF Report Export β€” download official, verified assessment certificates
  • Help & Support β€” in-platform FAQ and support ticketing

πŸ“§ Email Notification System

  • Automated result emails sent to candidates post-assessment
  • Recruiter alerts for completed sessions
  • Powered by Nodemailer

πŸ—οΈ Tech Stack

Frontend

Technology Purpose
React 18 UI framework
React Router v6 Client-side routing with protected routes
Vite Lightning-fast build tool with HMR
Framer Motion Smooth page and component animations
Lucide React Consistent icon library
Socket.IO Client Real-time live monitoring
TensorFlow.js In-browser face/object detection for proctoring
Tailwind CSS v4 Utility CSS (+ custom design system)
Axios HTTP client with request deduplication

Backend

Technology Purpose
Node.js + Express 5 REST API server
MongoDB Atlas + Mongoose Database and ODM
Socket.IO Real-time bidirectional communication
Google Gemini AI Resume parsing + question generation
Groq SDK (LLaMA) Ultra-fast voice interview AI responses
Cloudinary Video recording storage and streaming
JWT + bcryptjs Authentication and security
Multer + pdf-parse Resume file upload and text extraction
Nodemailer Email notifications

Infrastructure

Service Role
MongoDB Atlas Cloud database
Render.com Backend deployment
Cloudinary Media CDN

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • MongoDB Atlas account (or local MongoDB)
  • Google Gemini API key
  • Groq API key
  • Cloudinary account

1. Clone the Repository

git clone https://github.com/Anmol-Malviya/RAW_CODER.git
cd RAW_CODER

2. Install Root Dependencies

npm install

3. Configure Server Environment

Create server/.env:

PORT=5000
MONGO_URI=your_mongodb_atlas_connection_string
JWT_SECRET=your_super_secret_jwt_key

# AI Services
GEMINI_API_KEY=your_google_gemini_api_key
GROQ_API_KEY=your_groq_api_key

# Media Storage
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret

# Email
EMAIL_USER=your_gmail_address
EMAIL_PASS=your_gmail_app_password

4. Configure Client Environment

Create client/.env:

VITE_API_URL=http://localhost:5000/api

5. Install All Dependencies

# Install server deps
cd server && npm install

# Install client deps
cd ../client && npm install

6. Run the Platform

# From root directory β€” starts both server and client
npm run dev

Or run separately:

# Terminal 1: Backend
cd server && npm run dev

# Terminal 2: Frontend
cd client && npm run dev

Open http://localhost:5173 in your browser.


πŸ—ΊοΈ Application Routes

Public Routes

Route Page
/ Landing page with demo assessment
/login Login / Register

Candidate Routes (Protected)

Route Page
/candidate Dashboard β€” Available jobs + reports
/apply/:jobId Job application + interview mode selector
/check System check β€” camera, mic, browser permissions
/assessment Live MCQ assessment with proctoring
/voice-interview AI voice interview session
/coding In-browser coding test
/results Post-interview AI report
/candidate/practice Unlimited AI practice sessions
/candidate/profile Profile + performance history
/candidate/ats ATS resume score checker
/candidate/support Help & support center

Admin Routes (Protected)

Route Page
/admin Main dashboard β€” KPIs & overview
/admin/roles Create and manage job postings
/admin/live Real-time interview monitoring
/admin/questions Question bank management
/admin/sessions All interview session history
/admin/sessions/:id/candidates Per-session candidate breakdown
/admin/analytics Hiring analytics and insights
/admin/settings Platform configuration
/admin/profile Admin profile & permissions
/admin/workspace Workspace overview
/admin/workspace/session/:id Detailed workspace session view

πŸ”Œ API Endpoints

Authentication

Method Endpoint Description
POST /api/auth/register Register candidate or admin
POST /api/auth/login Login and receive JWT
GET /api/auth/profile Get current user profile
PUT /api/auth/profile Update user profile

Jobs

Method Endpoint Description
GET /api/jobs List all active jobs
POST /api/jobs Create new job (admin)
PUT /api/jobs/:id/status Toggle job active/inactive
GET /api/jobs/code/:code Validate interview join code
GET /api/jobs/:id/candidates List candidates for a job

Assessment

Method Endpoint Description
POST /api/generate-mcq Upload resume β†’ generate questions
POST /api/generate-practice Generate practice session
POST /api/submit-assessment Submit answers β†’ get AI score
POST /api/voice-chat Voice interview turn (Groq AI)
GET /api/session/:id Get session details
GET /api/sessions/user Get current user's sessions
GET /api/sessions/all Get all sessions (admin)

Media

Method Endpoint Description
POST /api/upload-recording Upload webcam recording
POST /api/upload-screen Upload screen recording

Admin

Method Endpoint Description
GET /api/analytics Hiring analytics data
GET /api/questions Question bank
POST /api/questions Add question to bank
DELETE /api/questions/:id Remove question
GET /api/settings Platform settings
POST /api/settings Update setting value

πŸ‘₯ User Flows

Candidate Flow

Register β†’ Browse Jobs β†’ Apply Now β†’ System Check
β†’ Upload Resume β†’ AI Generates Questions
β†’ Choose Mode (Voice/MCQ) β†’ Live Interview with Proctoring
β†’ Submit β†’ AI Scores + Generates Detailed Report
β†’ Download PDF Certificate

Admin Flow

Register (as Recruiter) β†’ Create Job Posting β†’ Share Interview Code
β†’ Monitor Live Interviews β†’ Review Completed Reports
β†’ View Analytics β†’ Export Candidate Rankings

Quick Demo Flow (No Login Required)

Visit / β†’ Enter Job Role β†’ Upload Any PDF Resume
β†’ Instant AI Assessment Generated β†’ Take Live Demo Test β†’ See Results

πŸ§ͺ Testing

Automated API Test Suite

cd test
node automated_api_tests.js

Tests cover: registration β†’ job creation β†’ MCQ generation β†’ submission β†’ feedback.

Manual Test Plan

See test case/manual_test_plan.md for a complete 40+ scenario manual test plan covering all user flows.


πŸ”’ Security

  • JWT Authentication β€” all API routes are protected, tokens expire in 7 days
  • Role-Based Access Control β€” admin vs candidate routes enforced server-side
  • bcryptjs Password Hashing β€” passwords never stored in plain text
  • Input Validation β€” all user inputs sanitized before DB operations
  • CORS Configuration β€” restricted to known origins in production

πŸ† What Makes This Hackathon-Worthy

Feature Why It Matters
πŸŽ™οΈ Real Voice AI Candidates speak naturally β€” no typing, no multiple choice bias
🧠 Resume-Aware Questions Every interview is unique β€” generated fresh from the actual resume
πŸ›‘οΈ Multi-Layer Proctoring TensorFlow face detection + tab monitoring + object detection
⚑ Sub-second AI Groq delivers LLaMA responses in <500ms for natural conversation flow
πŸ“Š Instant Reports Full AI-scored report with per-question breakdown in <10 seconds
πŸ” End-to-End Automation Zero human effort from posting to ranked shortlist
πŸ“± Fully Responsive Works on any device β€” phone, tablet, desktop

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

Built with ❀️ for the hackathon by the RAW_CODER team.


πŸ“„ License

This project is built for hackathon demonstration purposes.


**⭐ If this project impressed you, give it a star!** *Powered by Google Gemini · Groq AI · MongoDB Atlas · React · Node.js*

Built With

Share this project:

Updates