Skip to content

theunstopabble/InterviewMinds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

166 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

InterviewMinds - AI Mock Interview Platform by Gautam Kumar

InterviewMinds β€” Enterprise AI Mock Interview Platform

Created & Developed by Gautam Kumar | Full-Stack Developer & AI Engineer

Production-grade AI interview simulation platform with real-time ML proctoring, CRDT collaborative coding, multimodal candidate analysis, and WebRTC video β€” serving enterprise-level candidate evaluation at scale.


Live Demo Portfolio GitHub License


TypeScript React Node.js MongoDB Redis Socket.IO TensorFlow Vite


πŸ‘¨β€πŸ’» About the Developer

InterviewMinds is designed, architected, and built by Gautam Kumar β€” a Full-Stack Developer and AI Engineer specializing in enterprise-grade web applications with machine learning integration.


πŸ“Έ Screenshots

Dashboard β€” Real-time Analytics & Performance Metrics

InterviewMinds Dashboard - AI Interview Analytics by Gautam Kumar



Live AI Interview β€” Voice & Video Analysis

InterviewMinds AI Interview - Real-time Voice Analysis and Feedback



Code Editor β€” Collaborative Coding with CRDT Merge

InterviewMinds Code Editor - Monaco Editor with Real-time Collaboration



AI Proctoring β€” ML Face Detection & Eye Tracking

InterviewMinds Proctoring - face-api.js ML Face Detection and Expression Analysis

πŸ—οΈ System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                            INTERVIEWMINDS                                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  FRONTEND β€” React 18 + Vite 7.3 + Tailwind CSS + Shadcn UI          β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ Clerk Auth (OAuth/Email)    β”œβ”€β”€ Monaco Code Editor              β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ face-api.js (Browser ML)    β”œβ”€β”€ Socket.IO Client                β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ Recharts (Analytics)        └── PWA Support                     β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                              β”‚ HTTPS + JWT + WebSocket                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  BACKEND β€” Node.js 20 + Express 4.21 + TypeScript 5.3                β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ 81 Service Modules          β”œβ”€β”€ 38 REST Route Files             β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ GraphQL (Apollo Server 4)   β”œβ”€β”€ Socket.IO 4.8 (Real-time)      β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ BullMQ Workers              β”œβ”€β”€ Circuit Breaker Pattern         β”‚  β”‚
β”‚  β”‚  └── ML Pipeline (face-api.js + TensorFlow.js)                       β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                              β”‚                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  MongoDB     β”‚  β”‚  Redis       β”‚  β”‚  External Services               β”‚  β”‚
β”‚  β”‚  Atlas       β”‚  β”‚  (Upstash)   β”‚  β”‚  β”œβ”€β”€ Groq (Llama 3.3-70b LLM)   β”‚  β”‚
β”‚  β”‚              β”‚  β”‚              β”‚  β”‚  β”œβ”€β”€ Azure Speech (TTS/STT)      β”‚  β”‚
β”‚  β”‚  7 Models    β”‚  β”‚  Cache       β”‚  β”‚  β”œβ”€β”€ Piston (Code Execution)     β”‚  β”‚
β”‚  β”‚  Pool: 20    β”‚  β”‚  BullMQ      β”‚  β”‚  β”œβ”€β”€ Cloudinary (Media)          β”‚  β”‚
β”‚  β”‚              β”‚  β”‚  Rate Limit  β”‚  β”‚  └── WebRTC (STUN/TURN)          β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

✨ Features β€” 18 Production Phases

InterviewMinds implements 91 enterprise features across 18 development phases, all production-ready with real API integrations (no mock data):

Phase Domain Key Features
1 Core Interview Engine AI-powered chat (Groq Llama 3.3-70b), resume parsing (pdf2json + vector embeddings), dynamic follow-up questions
2 Enterprise Security E2E encryption (RSA-4096 + AES-256-GCM + PBKDF2), biometric auth, fraud detection, geo-fencing
3 Video Proctoring ML face detection (face-api.js), eye tracking via landmarks, expression analysis, screen monitoring
4 Smart Assessment Sandboxed code execution (Piston API), answer validation, job matching, skill gap analysis
5 Integrations SSO (OAuth/SAML), webhooks (HMAC-signed), ATS integration (Greenhouse/Lever)
6 Enterprise Ops Multi-tenancy, RBAC (candidate/interviewer/admin), tenant isolation
7 Analytics MongoDB aggregation pipelines, trend analysis, top performers, pipeline tracking
8 Scheduling & Reports Calendar booking, timezone handling, question bank, scorecards, PDF/CSV exports
9 Next-Gen AI LLM interviewer with memory/personas, multimodal voice tone analysis (Groq primary), smart adaptive assessment
10 Infrastructure Circuit breakers, connection pooling, CDN integration, graceful shutdown
11 Real-Time Collaboration CRDT collaborative editor (three-way merge), whiteboard (MongoDB persistence), video calls (WebRTC + STUN/TURN + SFU)
12 Predictive Analytics Attrition prediction, performance forecasting, anomaly detection, sentiment analysis
13 Developer Experience GitHub/GitLab integration, code review, sandboxed execution, test runner
14 Compliance & Governance GDPR data export, PII masking, data retention policies, immutable audit trails
15 Integration Ecosystem HRIS (Workday/BambooHR/SAP), Slack/Teams/Discord, Zoom/Google Meet, background checks
16 Mobile & Multi-Platform Offline support, push notifications, responsive mobile API
17 Observability Prometheus metrics, Pino structured logging, Sentry error tracking, health checks
18 AI Agents & Automation Autonomous screening/scheduling/feedback agents, workflow automation engine

πŸ› οΈ Technology Stack

Core Platform

Layer Technology Version
Runtime Node.js 20.x
Language TypeScript 5.3
Frontend React + Vite + Tailwind CSS + Shadcn UI 18 / 7.3 / 3.4
Backend Express + Socket.IO + Apollo Server (GraphQL) 4.21 / 4.8 / 4.11
Database MongoDB (Mongoose ODM) 8.x
Cache & Queue Redis (ioredis) + BullMQ 5.10 / 5.45
Monorepo Turborepo + npm workspaces latest

AI & Machine Learning Stack

Service Model/Technology Purpose
Groq Llama 3.3-70b-versatile Interview chat, voice analysis, resume screening, AI agents
face-api.js SSD MobileNet + Landmarks + Expressions Real-time face detection & proctoring
TensorFlow.js Runtime engine Server-side ML model execution
Azure Speech SDK Neural TTS/STT Text-to-speech for AI interviewer voice
Piston API Multi-language sandbox Secure code execution (20+ languages)
Xenova Transformers all-MiniLM-L6-v2 Resume text embeddings for semantic search

Security & Auth

Feature Implementation
Authentication Clerk (OAuth + Email + Magic Links)
Authorization Custom RBAC with wildcard admin permissions
Data Encryption RSA-4096 + AES-256-GCM + PBKDF2 key derivation
API Security Helmet CSP + Rate Limiting + CSRF + Input Sanitization
Audit Trail Immutable logs with correlation IDs and IP tracking

πŸ“ Project Structure

InterviewMinds/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ api/                        # Backend API Server
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”‚   β”œβ”€β”€ config/            # Service configurations
β”‚   β”‚   β”‚   β”œβ”€β”€ graphql/           # Apollo Server schema + resolvers
β”‚   β”‚   β”‚   β”œβ”€β”€ lib/               # 81 business logic service modules
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ aiAgent.ts             # AI agent orchestration (Groq)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ analytics.ts           # MongoDB aggregation analytics
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ collaborativeEditor.ts # CRDT three-way merge editor
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ e2eEncryption.ts       # RSA-4096 + AES-256-GCM
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ faceMLService.ts       # face-api.js model management
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ multimodalAI.ts        # Groq voice tone analysis
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ videoCall.ts           # WebRTC + STUN/TURN + SFU
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ videoProctoring.ts     # ML-based proctoring pipeline
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ whiteboard.ts          # Persistent whiteboard (MongoDB)
β”‚   β”‚   β”‚   β”‚   └── ... (81 total modules)
β”‚   β”‚   β”‚   β”œβ”€β”€ middleware/         # Auth, RBAC, audit, security
β”‚   β”‚   β”‚   β”œβ”€β”€ models/            # 7 Mongoose schemas
β”‚   β”‚   β”‚   β”œβ”€β”€ routes/            # 38 Express route files
β”‚   β”‚   β”‚   └── tests/             # Vitest + fast-check property-based tests
β”‚   β”‚   β”œβ”€β”€ models/face-api/       # ML model weights
β”‚   β”‚   └── Dockerfile             # Multi-stage production build
β”‚   β”‚
β”‚   └── web/                        # Frontend Client
β”‚       β”œβ”€β”€ src/
β”‚       β”‚   β”œβ”€β”€ components/         # Shadcn UI + custom components
β”‚       β”‚   β”œβ”€β”€ pages/              # Route pages (15+)
β”‚       β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚       β”‚   β”œβ”€β”€ services/           # API client services
β”‚       β”‚   └── lib/                # Utilities
β”‚       └── vercel.json             # Deployment config
β”‚
β”œβ”€β”€ packages/
β”‚   └── shared/                     # Shared TypeScript types & interfaces
β”œβ”€β”€ docs/                           # Comprehensive documentation (7 files)
β”œβ”€β”€ screenshots/                    # Application screenshots
β”œβ”€β”€ .github/workflows/              # CI/CD (GitHub Actions)
β”œβ”€β”€ turbo.json                      # Turborepo build config
└── package.json                    # Root workspace configuration

πŸš€ Getting Started

Prerequisites

Tool Version Required
Node.js 20+ βœ…
npm 10+ βœ…
MongoDB Atlas (free tier) or local βœ…
Redis Upstash (free) or local Optional

Installation

# Clone the repository
git clone https://github.com/theunstopabble/InterviewMinds.git
cd InterviewMinds

# Install all workspace dependencies
npm install --legacy-peer-deps

# Configure environment
cp apps/api/.env.example apps/api/.env
# Edit apps/api/.env with your API keys

# Start development (frontend + backend)
npm run dev

Development URLs

Service URL Description
Frontend http://localhost:5173 React app with hot reload
Backend API http://localhost:8000 Express REST + WebSocket
GraphQL http://localhost:8000/graphql Apollo Playground (dev only)
Health Check http://localhost:8000/health Service connectivity status
Metrics http://localhost:8000/metrics Prometheus exposition format

πŸ§ͺ Testing

# Run backend tests
cd apps/api && npm run test

# Run with coverage
cd apps/api && npm run test:coverage

# Watch mode
cd apps/api && npm run test:watch

Test Suite: 39 property-based tests using Vitest 2.1 + fast-check 3.22

  • 7 bug condition exploration tests (verify ML proctoring, CRDT merge, persistence, WebRTC)
  • 32 preservation tests (verify no regressions across all 18 phases)

🌐 Deployment

Component Platform Status
Frontend Vercel βœ… Live
Backend Render (Docker) βœ… Live
Database MongoDB Atlas (Free M0) βœ… Connected
Cache/Queue Upstash Redis (Free) βœ… Connected

CI/CD Pipeline (GitHub Actions)

Push to main β†’ Typecheck (Backend + Frontend) β†’ Test Suite β†’ Build β†’ Auto-deploy

πŸ”‘ Environment Configuration

The app requires only 5 keys to run. All other 45+ features gracefully degrade without their keys (no crash):

Variable Required Free Tier
MONGO_URI βœ… MongoDB Atlas Free (512MB)
CLERK_PUBLISHABLE_KEY βœ… Clerk Free (10k MAU)
CLERK_SECRET_KEY βœ… Clerk Free
GROQ_API_KEY βœ… Groq Free (rate limited)
JWT_SECRET βœ… Self-generated
REDIS_URL Optional Upstash Free (10k commands/day)
CLOUDINARY_* Optional Cloudinary Free (25GB)
AZURE_SPEECH_* Optional Azure Free (5hr/month)
SENTRY_DSN Optional Sentry Free (5k errors/month)

Full list of 50 environment variables in apps/api/.env.example


πŸ›οΈ Key Technical Decisions

Decision Rationale
Groq over OpenAI Sub-500ms latency, generous free tier, Llama 3.3-70b quality
CRDT Three-Way Merge Preserves concurrent edits without data loss, no central coordination needed
face-api.js with fallback ML inference when models available, content-derived analysis otherwise (never returns static values)
Circuit Breaker Pattern Prevents cascading failures when Groq/Piston services go down
BullMQ with rate limiting Reliable async jobs with pause-on-error to prevent Redis quota exhaustion
Clerk over custom auth Enterprise-grade auth (OAuth, MFA, session management) without building from scratch
Turborepo monorepo Shared types, parallel builds, intelligent caching across frontend + backend

πŸ“š Documentation

Document Description
docs/API.md Complete REST + GraphQL API reference (150+ endpoints)
docs/ARCHITECTURE.md System design, middleware pipeline, CRDT algorithm, ML pipeline
docs/DB_SCHEMA.md 7 MongoDB models with field-level documentation
docs/DEPLOYMENT.md Production deployment (Vercel + Render + Docker)
docs/EDGE_CASES.md Error handling, graceful degradation, failure modes
docs/TECH_STACK.md Complete technology inventory (50+ packages)
docs/WORKFLOW.md Development workflow, testing strategy, CI/CD

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit with conventional commits: git commit -m 'feat: add feature'
  4. Ensure npm run typecheck passes
  5. Push and open a Pull Request β€” CI runs automatically

πŸ“„ License

MIT License β€” see LICENSE for details.


πŸ‘¨β€πŸ’» Built by Gautam Kumar

InterviewMinds is a solo-developed enterprise platform showcasing full-stack engineering, AI/ML integration, real-time systems, and production-grade infrastructure.

Portfolio LinkedIn GitHub Email


Gautam Kumar β€” Full-Stack Developer & AI Engineer

Building enterprise-grade applications with React, Node.js, TypeScript, MongoDB, and AI/ML


🌐 More Projects by Gautam Kumar

Project Description Link
Portfolio Personal portfolio & developer profile gautam-kr.vercel.app
SwadKart Multi-vendor food delivery platform with AI chatbot swadkart.vercel.app
Satark-AI Deepfake detection & speaker verification platform satark-deepfake.vercel.app
TexFolio AI-powered LaTeX resume builder with RBAC texfolio.vercel.app

About

Enterprise AI Mock Interview Platform with 81 service modules. ML Proctoring (face-api.js + TensorFlow.js), CRDT Collaborative Code Editor, WebRTC Video Calls, Groq Llama 3.3-70b (<500ms), E2E Encryption (RSA-4096). Turborepo monorepo.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors