Project Name

Evalvate - AI-Native Interview Preparation & Talent Intelligence Platform

Demo

Live Demo: https://evalvate.dev/

GitHub Repository

Source Code: Evalvate on GitHub


Project Description

Inspiration

Candidates walk out of interviews asking the same questions: "Was I confident enough? Did I ramble? Did my answers even hold together?" Most prep tools only check whether an answer sounds correct - they ignore everything else an interviewer actually notices: eye contact, tone, hesitation, and whether your story stays consistent under pressure.

Evalvate started as a project incubated by the London School of Economics (LSE) Generate program and went on to win the SE Hackathon. That validation pushed us to rebuild the platform from a simple Q&A bot into a real multimodal interview simulator - one that watches, listens, and cross-checks a candidate the way a tough human interviewer would.

What It Does

Evalvate simulates high-pressure hiring environments and gives candidates deep, actionable feedback across content quality, communication style, confidence signals, and behavioral consistency.

Key capabilities:

  • Adaptive 1-on-1 Interview Engine: role/difficulty-tailored questions, selectable interviewer personas (mentor, friendly, aggressive, devil's advocate), and dynamic follow-up challenges triggered when uncertainty or score drops are detected.
  • Contradiction & Consistency Detection: semantic comparison of new answers against a candidate's prior claims, surfacing logical inconsistencies with confidence and severity scores.
  • Real-Time Voice Intelligence (Hume AI): live prosody analysis: pitch variation, pace (WPM), volume dynamics, filler-word density, and 48 vocal emotions streamed over WebSocket.
  • Real-Time Video & Behavioral Intelligence (MediaPipe + DeepFace): iris-landmark gaze tracking, posture/gesture analysis, dominant emotion tracking, and multi-face background flagging.
  • Group Interview Simulation: rotating panel formats (Technical, HR, Mixed) with per-turn evaluation and a synthesized final summary.
  • Team-Fit Meeting Room Simulation: scenario-based team discussions that score leadership, listening, and collaboration fit.
  • Resume Parsing & ATS Coaching: LLM-based parsing of PDF/DOCX resumes into structured data with ATS-style improvement tips.
  • Longitudinal Coaching Analytics : trendlines across sessions, weakness/strength clustering, radar charts, and auto-generated weekly coaching plans.

How We Built It

  • Frontend (se-hack/): Next.js (App Router) for interview flows, live media capture, WebSocket connectivity, and analytics dashboards; Zustand for state management.
  • Backend (backend/): FastAPI, handling auth (Google OAuth + JWT cookies), AI-provider orchestration, scoring formulas, and the MediaPipe/DeepFace media pipelines.
  • Database: PostgreSQL, storing user profiles, structured resume data, interview sessions, meeting logs, and longitudinal snapshots.
  • AI/ML services: Hume AI for vocal prosody and emotion, Simli for avatar-driven interviewer presence, DeepFace + MediaPipe for facial/gaze/pose analysis, and an LLM (via OpenRouter) for question generation, resume parsing, and contradiction detection.

System flow: Candidate video/audio/text → MediaPipe/DeepFace + Hume AI signal extraction → LLM-based semantic and contradiction analysis → deterministic scoring formulas → structured coaching report.

We use deterministic, multi-modal scoring rather than a single opaque AI score:

$$\text{Overall} = (0.35 \times \text{Technical} + 0.25 \times \text{Communication} + 0.20 \times \text{EyeContact} + 0.10 \times \text{Emotion} + 0.10 \times \text{Structure}) \times 10$$

$$\text{EyeContactScore} = \frac{\text{frames with gaze score} > 0.6}{\text{total frames}} \times 10$$

$$\text{Communication} = \frac{\text{pace_score} + \text{clarity_score} + \text{confidence_score} + \text{energy_score}}{4}$$

Challenges

  • Fusing three asynchronous real-time streams (video, audio, text) into one coherent, per-turn evaluation without lag.
  • Building genuinely useful contradiction detection - distinguishing a real inconsistency from a candidate just rephrasing themselves.
  • Tuning gaze-estimation math (iris landmarks relative to eye sockets) to be robust across different cameras, lighting, and face angles.
  • Designing adaptive challenge logic so the interviewer persona feels responsive rather than scripted.
  • Keeping feedback specific and constructive instead of generic "good/bad" scoring, while still being deterministic and explainable.

Accomplishments

  • Rebuilt Evalvate from a single-signal Q&A prototype into a full multimodal platform (voice + video + text + resume + longitudinal tracking).
  • Shipped real-time vocal and facial/gaze analysis pipelines, not just post-session scoring.
  • Built working contradiction detection across a candidate's full session history.
  • Incubated by LSE Generate and won the SE Hackathon.
  • Use Evalvate ourselves to prep for our own interviews.

What We Learned

Interview performance is multimodal - what you say is only part of the picture; how you say it and whether your story holds together matter just as much. Real-time multimodal fusion is hard: voice, video, and text signals arrive on different clocks and need careful synchronization to produce coaching that feels immediate rather than delayed. Deterministic, explainable scoring builds far more user trust than a black-box AI number. And testing on ourselves first was the fastest way to catch feedback that was technically accurate but practically useless.

What's Next

  • Expand group interview and meeting-room simulations with richer multi-agent dynamics.
  • Broaden longitudinal analytics into personalized, multi-week coaching curricula.
  • Add multilingual support for a wider range of candidates.
  • Pilot with universities and corporate hiring teams to validate impact on real placement and hiring outcomes.
  • Extend the behavioral-analysis engine beyond interviews into presentations, admissions interviews, and public speaking practice.

Vision: Become the platform candidates and institutions trust for honest, multimodal performance feedback - anywhere confidence and communication are being evaluated.


Summary

Evalvate is a multimodal AI interview coach that fuses real-time voice prosody, facial/gaze behavior, and semantic contradiction detection into deterministic, explainable feedback - helping candidates prepare for the interview that actually happens, not just the questions on the page.

Built With

Share this project:

Updates