InterviewForge — AI Interview


🌟 Inspiration

I bombed several job interviews last year. Not because I lacked technical skills, but because I had no idea what I was actually doing wrong. Generic prep tools throw random questions at you and return a vague score. None tell you that you misspoken about past experience, used zero metrics, or walked straight into a trap question.

I built InterviewForge to fix this. It doesn't just simulate interviews—it deconstructs your performance with transparent, actionable feedback backed by LLM-powered analysis.


💡 What It Does

Multi-Track Practice: HR or Technical track with domain selection (preset list + custom input)

Company Intelligence: One-time LLM Research on target company, questions reference values/culture

Resume-Aware Personalization: Upload resume → LLM extracts skills/roles → questions tailored to background

Interviewer Persona System: Choose evaluator style: Supportive Coach, Direct Tester, or Technical Expert

Spoken Interview Loop: TTS asks questions, STT captures answers, natural spoken practice

Pre-Interview Review: Preview, edit, add, or remove generated questions, set question count

Question Deck CRUD: Full management of question bank with filtering by track/domain/company

Interview Evaluation: 5-dimension scoring (Communication, Technical Depth, Culture Fit, Confidence, Structure)

Audit Trail: Every score shows reasoning (e.g., "Confidence: 4/10 • 12 filler words • 3 self-deprecating statements")

Red Flag Scanner: Detects 10+ weak patterns (complaining, vague metrics, no examples, illegal question responses)

Trap Analysis: Identifies stress-test questions and evaluates performance under pressure

Performance Dashboard: Visual overview of scores, session count, average performance, focus areas

Session History: Resume in-progress interviews, review past sessions with full transcripts

Accuracy Growth Chart: Track improvement over time per dimension

Domain Competency Matrix: See strengths/gaps across technical domains

Progression Timeline: Visualize journey from first practice to interview-ready

Smart Question Caching: If same domain+company is requested again, reuse DB-stored questions to save API costs

Session Isolation Protocol: Cache-busting URLs + reset headers + XML-delimited prompts to prevent cross-session contamination

Debug Panel: Developer tool to inspect session context, LLM payloads, and isolation status

Efficient STT/TTS: Browser-native Web Speech API with 1–3s latency optimized for cost/accuracy balance

Auth & User Profiles: Secure login, profile management, session persistence

Responsive Dashboard: Clean UI for setup, practice, review, and analytics

Public Deployment: Fully accessible via [App URL]


🛠️ How We Built It

We built InterviewForge entirely through MeDo's multi-turn conversation mode, treating it as an AI co-developer. Instead of writing boilerplate, we structured each conversation turn to build a modular, forensic pipeline based on MeDo's tutorial approach:

  • Turn 1: Scaffolded the full-stack app (auth, dashboard, Clean Tech UI with slate grays)
  • Turn 2: Integrated resume upload/parsing. Prompted MeDo to extract skills and experience via the LLM plugin and wire it into the question generator
  • Turn 3: Added company intelligence. Used the LLM for one-time culture/value fetching, then cached it to contextualize questions
  • Turn 4: Built the spoken interview loop (TTS/STT) and structured the evaluation pipeline. MeDo helped enforce strict JSON output for multi-dimensional scoring
  • Turn 5: Added the debrief dashboard, session history, analytics, and the audit trail showing exact scoring reasoning
  • Turn 6 and beyond: Finetuning the design, debugging edge cases, and optimizing performance

🚧 Challenges We Ran Into

Session Context Leakage: The MeDo plugin's gateway occasionally persisted conversation history across distinct sessions. Solved with cache-busting URL parameters, explicit session-reset prompts, and aggressive state isolation on the Deno edge function.

Structured LLM Output: Getting the LLM to consistently return valid JSON for 5-dimensional scoring + red flags required iterative prompt refinement and schema validation.

Cost & Latency Optimization: Real-time TTS/STT and repeated LLM calls can be expensive. Implemented smart question caching so returning to the same role/company pulls from the database instead of regenerating.


🏆 Accomplishments That We're Proud Of

Forensic Evaluation Engine & Multi-Input Synthesis: We architected a pipeline that synthesizes four distinct inputs (resume, target role, company culture, and interviewer persona) into highly contextualized questions. More importantly, the evaluation logic breaks every answer into five transparent dimensions (Communication, Technical Depth, Culture Fit, Confidence, Structure) with an audit trail that shows why a score was given—not just the number.

Real-Time Spoken Interview Experience: Built a natural, low-latency spoken interview loop using browser-native Web Speech API with 1–3s latency, making practice feel authentic and engaging.

Transparent Scoring & Audit Trail: Users see exactly why they scored a certain way (e.g., "Confidence: 4/10 • 12 filler words • 3 self-deprecating statements • missing STAR structure"), turning black-box AI feedback into actionable coaching.

Smart Caching & Cost Optimization: Implemented intelligent question caching so returning to the same role/company leverages the database instead of regenerating, reducing API costs while maintaining personalization.

Session Isolation & Reliability: Solved complex session contamination issues with cache-busting URLs, explicit state resets, and XML-delimited prompt engineering—ensuring each interview practice is isolated and consistent.


📚 What We Learned

AI-Assisted Development is Modular Conversation Design: Building with MeDo isn't about prompting once; it's about architecting modular conversations where each turn builds on a verified foundation. Five structured turns → fully functional forensic pipeline.

Transparency Builds User Trust: The real value of AI in UX isn't just generating content—it's providing auditable reasoning. Users trust feedback when they can see why a score was given, not just the number.

Performance Requires Deliberate Trade-Offs: Balancing AI capabilities with real-world constraints means accepting thoughtful compromises (e.g., 1–3s STT latency for accuracy, caching questions to reduce API costs, schema validation for structured output).

Plugin Orchestration is Key: Chaining LLM, STT/TTS, and OCR plugins in sequence requires careful prompt engineering and state management, but the results are powerful and user-centric.


🚀 What's Next for InterviewForge

Live Interview Mode: Real-time synchronous interviews with AI interviewers that adapt difficulty based on performance.

Video Recording & Body Language Analysis: Expand beyond audio to capture non-verbal cues (eye contact, posture, hand gestures) and provide coaching on presentation.

Custom Question Datasets: Allow users and organizations to upload proprietary question banks for role-specific or company-specific practice.

Multi-Language Support: Expand beyond English to support global candidates preparing for interviews in different languages.

Advanced Red Flag Detection: Machine learning model to identify nuanced weak patterns beyond the current 10+ flags (e.g., detecting overconfidence, imposter syndrome signals, or domain knowledge gaps).

Integration with Job Boards: Connect with LinkedIn, Indeed, or other job platforms to auto-populate company data and recommend tailored practice scenarios based on saved jobs.


🔌 Tech Stack

  • LLM Plugin: Structured evaluation JSON, resume parsing, question generation, answer rewriting
  • STT/TTS Plugins: Browser-native speech capture and interviewer voice delivery
  • OCR Plugin: Resume ingestion (PDF/DOCX) with OCR extraction
  • Deno Edge Functions: Session isolation and cache-busting logic
  • Supabase: User profiles, session history, question storage, evaluation audit trail

Built With

Share this project:

Updates