SkillViva — AI-Powered Multilingual Mock Interview Platform
A production-grade AI-driven mock interview system parsing candidate resumes client-side, dynamically generating custom role-specific questions, conducting spoken interviews via Sarvam TTS/STT APIs, and compiling performance telemetry.

Overview
Official Repository: SkillViva on GitHub
SkillViva is an enterprise-class AI Mock Interview Platform built to automate and scale candidate screenings. Standard mock interview tools rely on text inputs, which lack the behavioral realism of voice-based interactions.
SkillViva solves this by orchestrating a dynamic, voice-enabled interview agent: it parses a candidate's resume locally in the browser, generates role-specific interview questions using a custom LLM (sarvam-105b / sarvam-30b), reads the questions aloud using Sarvam Voice TTS (bulbul:v2), records and transcribes candidate speech with Sarvam Speech STT (saaras:v3), and scores responses to generate detailed performance analytics.
Technical Valuation: Replacement Cost: ₹24.5 Lakhs | High-Fidelity Audio Ingestion. JWT and secure HTTP-Only cookie-based session management.
High-Performance Audio & Text Workflows
The entire live interview follows a real-time speech loop:
[Resume Upload]
│
▼
[pdfjs-dist] (Browser-side text extraction - PDF never sent to server)
│
▼
[Sarvam LLM] (Generates job-specific questions in JSON schema)
│
▼
[TTS bulbul:v2] (Converts text to Indian-accented English speech via Anushka voice)
│
▼
[Microphone Ingestion] (Records candidate response locally in browser)
│
▼
[STT saaras:v3] (Transcribes candidate audio to text on Vercel API endpoint)
│
▼
[Evaluate Engine] (LLM scores transcript against ideal answer)
│
▼
[Dashboard Analytics] (Pass/Fail metrics, feedback cards, Recharts plots)
1. Privacy-First PDF Parsing
Resumes are parsed client-side using pdfjs-dist to extract structured text directly in the user's browser. This guarantees candidate data privacy, reducing server bandwidth usage and completely bypassing server-side PDF storage costs.
2. Low-Latency Speech Synthesizers
Spoken questions are rendered in natural Indian English using Sarvam's bulbul:v2 TTS engine, providing a familiar and high-trust voice interaction. Candidate responses are recorded using the browser's MediaRecorder API and transcribed via Sarvam's saaras:v3 STT engine.
System Architecture
- Frontend & Backend API: Next.js 16 (App Router) + TypeScript + Tailwind CSS v4.
- Session Auth: Passwordless login using Nodemailer OTP verification codes. Verified sessions generate a secure JWT token stored in an
httpOnlysecure cookie. - Database Vault: MongoDB Atlas storing interview sessions, dynamic questions, and performance evaluations.
- Telemetry Charts: Recharts dashboard indicating category-wise performance metrics (communication, technical skills, problem-solving).