Transform technical and behavioral interview preparation with autonomous AI assessment, real-time speech-to-text dictation, structured rubric scoring, and instant panel hiring recommendations.
๐ Live Production App: https://interview-agent-ai.netlify.app/ ย |ย ๐ป GitHub Source: https://github.com/bikram73/Interview_Agent_AI
๐ Description |
๐ Section |
|---|---|
View the project features and capabilities. ๐ |
|
View the technologies, frameworks, and programming languages used. ๐ |
|
Explore the project's folder and file organization. ๐ |
|
Follow the installation steps and local development setup. ๐ |
|
Understand the complete AI document processing pipeline. ๐ |
|
Learn about the AI prompting strategy and anti-hallucination techniques. ๐ |
|
Understand how confidence scores are calculated and interpreted. ๐ |
|
View all deliverables required for the AI challenge. ๐ |
|
See an example of the structured JSON output generated by the AI agent. ๐ |
|
View the available REST API endpoints and usage examples. ๐ |
|
View an overview of the sample documents and extraction results included in this project. ๐ |
|
Open the dedicated Sample Results page to view all sample documents, images, PDFs, and extracted JSON outputs. ๐ |
|
Explore the complete system architecture, AI workflow, processing pipeline, data flow, deployment design, and technical decisions. ๐ |
|
Review implementation details, AI pipeline, performance metrics, benchmarking, validation strategy, privacy, testing, and technical specifications. ๐ |
|
Review processing speed, latency, and performance benchmarks. ๐ |
|
Understand the current limitations and known failure cases of the AI extractor. ๐ |
|
View the project license information. ๐ |
- ๐ฏ Multi-Track Role Library: Over 11+ curated technical and soft-skill tracks (Python Developer, Java/Spring Boot, Frontend/React, Backend APIs, Full Stack, AI Engineer, ML Engineer, Data Scientist, Cybersecurity Analyst, Cloud DevOps, HR Behavioral) plus support for Custom Job Roles.
- ๐ Dynamic Experience Calibration: Configurable difficulty curves tailored for Fresher / Entry Level, Junior (1-2 yrs), Mid-Level (3-5 yrs), and Senior (6+ yrs).
- โก Structured AI Question Generation: Leverages Google Gemini 2.5/3 Flash with strict schema constraints to generate balanced interview sets spanning fundamentals, system design, architectural trade-offs, and STAR scenarios.
- ๐๏ธ Voice Dictation (Speech-to-Text): Built-in Web Speech API recognition enabling candidates to speak naturally in real-time, just like in a live interview room.
- โฑ๏ธ Real-Time Timed Sessions: Built-in visual countdown timer, live word/character counters, and question sequence trackers.
- ๐ Instant Question-by-Question Evaluation: Deep rubric grading with numerical scores (0โ10), key strengths identified, missing technical gaps highlighted, and actionable STAR improvement tips.
- ๐ก Ideal Response Benchmarking: Displays key technical concepts and ideal bullet points expected by senior interviewers.
- ๐ Executive Hiring Report: Synthesizes session transcript into an aggregate candidate score (0โ100%), hiring recommendation (Strong Hire, Hire - Low Risk, Borderline, Needs Development), confidence level, and prioritized study roadmaps.
- ๐ฅ Themed PDF & Text Export: One-click download of high-resolution PDF evaluation dossiers styled in the exact visual theme of the platform (score cards, gauges, strengths, weaknesses, and full transcripts) alongside plain
.txtformat. - ๐ Dual Deployment Ready: Seamless execution across Express.js servers (Docker/Cloud Run) and Serverless Netlify Functions with automated redirects.
+-------------------------------------------------------------------------+
| FRONTEND LAYER |
| React 19.0.1 * TypeScript 5.8 * Tailwind CSS v4 * Lucide / Icons |
| Motion (Framer) * Web Speech API * Vite 6 Bundler |
+-------------------------------------------------------------------------+
|
v
+-------------------------------------------------------------------------+
| API & SERVER LAYER |
| Node.js (v20+) * Express 4.21 * Netlify Serverless Functions |
| @google/genai TypeScript SDK * esbuild Bundler * tsx Runtime |
+-------------------------------------------------------------------------+
|
v
+-------------------------------------------------------------------------+
| AI CORE LAYER |
| Google Gemini 3.6 / 2.5 Flash * Structured JSON Schema Enforcement |
| Prompt Engineering & Anti-Hallucination Grounding |
+-------------------------------------------------------------------------+
- TypeScript (
v5.8.2): 100% strict type safety across client UI, data models, server routes, and Netlify Functions. - JavaScript (ES Modules & CJS): Modern ES2024 runtime specifications.
- HTML5 & CSS3: Modern semantic markup styled with Tailwind CSS v4 CSS design tokens.
| Layer | Technology | Purpose |
|---|---|---|
| Client UI | React 19.0.1 |
Component-based reactive user interface |
| Styling | Tailwind CSS 4.1.14 |
High-performance CSS utility styling engine |
| Animation | motion 12.23.24 |
Smooth screen and state transitions |
| Icons | lucide-react & Google Material Symbols |
Clean, professional UI icons |
| AI SDK | @google/genai 2.4.0 |
Official Google Gemini GenAI SDK |
| Dev Server | Vite 6.2.3 & tsx 4.21.0 |
Ultra-fast HMR and TypeScript execution |
| Backend Server | Express 4.21.2 |
RESTful API proxy and static asset delivery |
| Serverless | @netlify/functions 5.3.0 |
Serverless cloud functions for Netlify hosting |
interview-agent-ai/
โโโ netlify/
โ โโโ functions/
โ โโโ evaluate-answer.ts # Netlify function for candidate answer evaluation
โ โโโ generate-questions.ts # Netlify function for AI question generation
โ โโโ generate-report.ts # Netlify function for executive summary & report
โโโ public/
โ โโโ _redirects # Netlify SPA and API rewrite rules
โ โโโ vite.svg
โโโ src/
โ โโโ components/
โ โ โโโ EvaluationView.tsx # Step-by-step evaluation, scores, and strength breakdown
โ โ โโโ LandingView.tsx # Hero landing view with role tracks & stats
โ โ โโโ Navbar.tsx # Application header navigation
โ โ โโโ PerformanceView.tsx # Final candidate report, hiring recommendation & transcript
โ โ โโโ RolesView.tsx # Role selector, experience configuration & question count
โ โ โโโ SessionView.tsx # Active interview room, voice STT & timer
โ โโโ services/
โ โ โโโ api.ts # Client-side API client wrapper with fallback resilience
โ โโโ App.tsx # Main state machine, screen routing & session coordination
โ โโโ index.css # Tailwind CSS v4 entrypoint & theme variables
โ โโโ main.tsx # React DOM root entry
โ โโโ types.ts # Global TypeScript interfaces & data contracts
โโโ .env.example # Environment variable template
โโโ .gitignore # Git exclusion rules
โโโ ARCHITECTURE.md # System architecture, data flow & deployment docs
โโโ LICENSE # MIT open-source license
โโโ metadata.json # Applet configuration & server permissions
โโโ netlify.toml # Netlify build, redirects, and function routing
โโโ package.json # Dependencies, scripts, and build configuration
โโโ README.md # Comprehensive project documentation
โโโ SAMPLE_RESULTS.md # Sample questions, candidate answers & evaluations
โโโ server.ts # Express.js full-stack development & production server
โโโ TECHNICAL_REPORT.md # Benchmark metrics, AI pipeline & evaluation analysis
โโโ tsconfig.json # TypeScript compiler configuration
โโโ vite.config.ts # Vite build and plugin configuration
- Node.js: Version
20.xor higher - npm or bun / yarn / pnpm
- Google Gemini API Key: Obtain a free key from Google AI Studio
git clone https://github.com/bikram73/Interview_Agent_AI.git
cd Interview_Agent_AInpm installCreate a .env file in the root directory:
cp .env.example .envPopulate your Gemini API key:
GEMINI_API_KEY=your_actual_gemini_api_key_herenpm run devThe application will be live at http://localhost:3000.
npm run build
npm run startThis project is pre-configured with netlify.toml, public/_redirects, and /netlify/functions.
๐ Live Production Site: https://interview-agent-ai.netlify.app/
- Push code to your GitHub repository (
https://github.com/bikram73/Interview_Agent_AI). - In the Netlify Dashboard, click Add new site > Import an existing project.
- Build Settings will auto-detect from
netlify.toml:- Build command:
npm run build - Publish directory:
dist - Functions directory:
netlify/functions
- Build command:
- Add Environment Variable in Netlify (Site settings > Environment variables):
GEMINI_API_KEY:your_gemini_api_key
- Click Deploy Site!
+-----------------------------------------------------------------------------+
| CANDIDATE CLIENT |
| Select Role Track -> Configure Experience -> Active Timed Session Room |
| (Speech-to-Text Dictation -> Text Area Input -> Submit Response) |
+-----------------------------------------------------------------------------+
|
| POST /api/* (JSON)
v
+-----------------------------------------------------------------------------+
| SERVER PROXY / NETLIFY FUNCTIONS |
| - Express.js Routes (Local / Cloud Run) OR Netlify Serverless Functions |
| - Environment Variable Security (GEMINI_API_KEY hidden from browser) |
| - Input Sanitization & Payload Verification |
+-----------------------------------------------------------------------------+
|
| Google GenAI SDK
v
+-----------------------------------------------------------------------------+
| GOOGLE GEMINI AI |
| - Model: gemini-3.6-flash / gemini-2.5-flash |
| - Strict JSON Schema Validation (Structured Outputs) |
| - Temperature: 0.2 (Deterministic Rubric Assessment) |
+-----------------------------------------------------------------------------+
|
| Clean JSON
v
+-----------------------------------------------------------------------------+
| EVALUATION & DOSSIER |
| - Question Score (0-10) + Key Strengths + Gaps + Improvement Tip |
| - Aggregate Final Score (0-100%) + Panel Hiring Verdict |
| - Candidate Downloadable Transcript (.txt) |
+-----------------------------------------------------------------------------+
For an in-depth breakdown of state transitions, data boundaries, and latency budgets, see ARCHITECTURE.md.
The platform uses a four-pillar prompting framework to ensure accurate, constructive, and reproducible interview assessments:
- Role-Bound System Persona: Gemini is prompted strictly as a Senior Principal Engineering & Hiring Committee Lead with explicit domain grading rubrics.
- Schema-Constrained JSON Outputs: Output formatting uses Google GenAI SDK
responseSchema(JSON SchemaType.OBJECT), preventing syntax errors, unescaped quotes, or conversational conversational filler. - STAR Rubric Grounding: Answers are evaluated against Situation, Task, Action, and Quantifiable Results. Generic claims without architectural context or metrics are penalized constructively.
- Deterministic Fallback Engine: If any network anomaly occurs, the client includes deterministic, curated fallback questions and evaluations so the candidate's session is never interrupted.
Each question is evaluated using an objective 10-point rubric:
-
$\mathbf{C}_{\text{tech}}$ (Correctness & Accuracy): Technical accuracy, appropriate libraries, algorithms, and architectural patterns. -
$\mathbf{D}_{\text{depth}}$ (Depth & Trade-offs): Awareness of edge cases, memory footprint, concurrency, security, and scalability. -
$\mathbf{S}_{\text{comm}}$ (Clarity & Structure): Logical thought progression, clear technical vocabulary, and concise explanations. -
$\mathbf{Q}_{\text{metrics}}$ (Impact & Quantitative Evidence): Tangible metrics, benchmark figures, and STAR-oriented results.
- 90% โ 100%:
Strong Hire(Exceptional architectural depth and articulation) - 75% โ 89%:
Recommended for Hire(Solid technical grounding with minor gaps) - 60% โ 74%:
Borderline / Practice Needed(Foundational knowledge present, lacks quantifiable impact) - < 60%:
Needs Fundamental Development(Significant conceptual errors or incomplete answers)
- Autonomous AI Question Generator: Generates custom technical and scenario questions for 11+ roles and custom inputs.
- Live Candidate Dictation: Real-time voice speech-to-text integration with manual editing capability.
- Instant AI Evaluation Engine: Provides numerical grading, strengths, weaknesses, and improvement roadmaps per question.
- Final Hiring Panel Report: Complete executive summary, overall score, confidence ranking, and hiring verdict.
- Exportable Dossier: Formatted plaintext download of full transcripts and evaluation notes.
- Comprehensive API Documentation: Fully documented endpoints with request/response schemas.
- Cloud & Serverless Deployment: Built for Express.js (Docker/Cloud Run) and Netlify Functions.
{
"questions": [
{
"id": 1,
"question": "How do Python decorators work under the hood, and how would you implement a decorator that measures function execution time?",
"category": "Core Python Fundamentals",
"difficulty": "Medium",
"expectedKeyConcepts": [
"First-class functions",
"Closures and *args, **kwargs",
"functools.wraps metadata preservation",
"time.perf_counter"
]
}
]
}{
"score": 8.5,
"feedback": "Strong explanation demonstrating solid understanding of Python first-class functions, closures, and wrapper syntax.",
"strength": "Accurately noted the usage of functools.wraps to preserve original function docstrings and metadata.",
"weakness": "Did not mention how time.perf_counter() differs from time.time() for CPU benchmark precision.",
"improvement": "Mention using time.perf_counter() for high-precision benchmarking and discuss handling asynchronous coroutines with async decorators.",
"idealAnswerKeyPoints": [
"Explain decorators as functions taking another function and returning a wrapper",
"Preserve metadata using @functools.wraps(func)",
"Capture start and end time using time.perf_counter()",
"Return the original function result"
]
}{
"overallScore": 86,
"strengths": [
"Demonstrated mastery of language internals and asynchronous patterns",
"Structured problem-solving approach adhering to STAR methodology",
"Clear awareness of production error boundaries and unit testing"
],
"weaknesses": [
"Could incorporate more concrete benchmark figures when discussing performance optimization",
"Expand further on distributed caching invalidation strategies"
],
"recommendation": "Recommended for Hire",
"topicsToImprove": [
"Distributed Systems & Redis Cache Invalidation",
"Asyncio Event Loop Internals",
"STAR Method Quantifiable Impact"
],
"confidence": "High",
"summary": "The candidate performed exceptionally well across all 5 technical interview questions, demonstrating senior-level conceptual clarity and communicative composure."
}Generates a set of tailored interview questions.
Request Body:
{
"role": "Python Developer",
"experience": "Mid Level (3-5 yrs)",
"question_count": 5
}Response (200 OK):
{
"questions": [
{
"id": 1,
"question": "...",
"category": "...",
"difficulty": "...",
"expectedKeyConcepts": ["..."]
}
]
}Evaluates an individual answer against the specific interview question.
Request Body:
{
"role": "Backend Developer",
"question": "How do you prevent SQL injection in an Express and PostgreSQL application?",
"answer": "I always use parameterized queries with pg or an ORM like Prisma/Drizzle instead of raw string concatenation.",
"experience": "Junior (1-2 yrs)"
}Response (200 OK):
{
"score": 9.0,
"feedback": "Excellent, direct answer correctly emphasizing parameterized queries.",
"strength": "Identified parameterized queries as the gold standard for SQL injection prevention.",
"weakness": "Could briefly mention input validation (e.g., Zod) as defense-in-depth.",
"improvement": "Mention schema validation libraries like Zod alongside database-level escaping.",
"idealAnswerKeyPoints": [
"Parameterized queries / prepared statements",
"ORMs with built-in parameterization",
"Input validation and sanitization at the boundary"
]
}Generates the comprehensive executive hiring report across the entire session.
Request Body:
{
"role": "AI Engineer",
"experience": "Mid Level (3-5 yrs)",
"session": [
{
"questionIndex": 1,
"question": "Explain RAG architecture and how you evaluate vector embeddings.",
"candidateAnswer": "RAG retrieves context from vector DBs...",
"score": 8.5,
"feedback": "Good response.",
"strength": "Clear explanation of chunking.",
"weakness": "Could mention cosine similarity metrics.",
"improvement": "Reference RAGAS evaluation framework."
}
]
}To explore full sample transcripts, simulated user sessions, and evaluation breakdowns: ๐ Open SAMPLE_RESULTS.md for complete examples across:
- ๐ Python Full-Stack Developer Session
- ๐ค AI & Machine Learning Engineer Session
- ๐ก๏ธ Cybersecurity Incident Response Session
- ๐ฅ HR & Behavioral STAR Session
| Operation | Model / Engine | Average Latency | Peak Memory |
|---|---|---|---|
| Question Generation (5 Qs) | gemini-3.6-flash |
1.12s | ~24 MB |
| Answer Evaluation | gemini-3.6-flash |
0.84s | ~18 MB |
| Final Dossier Generation | gemini-3.6-flash |
1.35s | ~28 MB |
| Client Bundle (Gzipped) | Vite + Rollup | โ | ~86 KB |
| Voice STT Processing | Web Speech API | Real-time (0ms) | Client Native |
- Browser Speech Recognition: Web Speech API is natively supported in Chromium browsers (Chrome, Edge, Brave). Safari and Firefox candidates can type their responses directly with full keyboard accessibility.
- API Rate Limiting: If Gemini API quotas are exceeded, the client seamlessly invokes local deterministic fallback questions and evaluations to ensure zero candidate disruption.
- Microphone Permissions in iframes: When embedded in sandboxed iframes without mic permissions, candidates can use standard text input.
This project is licensed under the MIT License โ see the full LICENSE file for details.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files to deal in the Software without restriction, including the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies.