-
-
Landing page
-
Starting an interview session
-
Users select a persona
-
Select languages attached to a persona
-
The interview window
-
Detailed report with audio playback generated after the interview
-
Spaces - where users can continue an interview with previous context
-
Progress dashboard showing how well the user is performing per interview
Inspiration
Traditional interview prep tools are polite, scripted, and predictable. Real interviews are not.
We watched countless of our friends and peers walk into high-stakes interviews unprepared for:
- The pressure of being evaluated in real-time
- Follow-up questions that probe deeper when answers are weak
- Tough personas, as not every interviewer is friendly; some are skeptical, impatient, or cold
Existing tools felt like practicing tennis against a wall. We wanted to build a sparring partner that actually fights back.
When we saw the ElevenLabs Challenge calling for "conversational, intelligent, and voice-driven" applications powered by Google Cloud AI, we knew we had the perfect opportunity to build Sparr AI, a mock interview platform where the AI doesn't just ask questions, it challenges you.
What it does
Sparr AI is a voice-first mock interview platform that creates hyper-realistic interview experiences:
5 Distinct Interviewer Personas: Each with unique voices, questioning styles, and evaluation criteria. Michael is casual and tests cultural fit. Ellen is cold and obsessed with Big-O notation. James detects BS immediately.
Resume-Aware Probing: Upload your resume, and the AI identifies YOUR specific weaknesses. No generic questions, as the interviewer targets gaps in your experience.
Session Spaces: Our most unique feature. Unlike isolated practice sessions, Sparr AI implements linked interview chains. When you continue an interview, the AI remembers your previous performance and pushes harder on areas you struggled with.
10+ Languages: Ellen conducts full interviews in English, Spanish, Russian, Romanian, Slovak, Croatian, Italian, German, Polish, and Danish.
Detailed Reports: After each interview, receive timestamped feedback with audio playback, performance scores, and actionable improvement areas.
How we built it
ElevenLabs Integration
We use the ElevenLabs React SDK (@elevenlabs/react) with Conversational AI Agents for real-time voice interviews with sub-second latency.
Key implementation details:
- 5 unique voice IDs for each persona
- Dynamic overrides: We inject Gemini-generated system prompts, personalized greetings, and language settings at runtime
- End conversation detection: Custom tools to properly close sessions and trigger report generation
Google Cloud Integration
Vertex AI (Gemini 2.5 Flash) powers all intelligent reasoning:
- Job Archetype Generation: Given company/role/level, Gemini creates realistic job description variants
- Resume Analysis: pdf-parse extracts text, Gemini identifies weaknesses and gaps
- System Prompt Crafting: Each persona receives a unique, context-aware system prompt
- Report Generation: Full transcript analysis with timestamped feedback and scores
Firebase handles the data layer:
- Auth: Anonymous guest mode + Google Sign-In
- Firestore: Interviews stored with double linked-list structure (parentId/childId) for Session Spaces
- Storage: Secure resume PDF and interview audio clips
Cloud Run hosts both frontend and backend for scalable, serverless deployment.
Frontend
React (Vite), Tailwind CSS, Framer Motion for animations, and ReactFlow for the visual workflow builder.
Backend
Node.js (Express), pdf-parse for resume extraction, Firebase Admin SDK, and Vertex AI SDK.
Challenges we ran into
Audio-to-transcript timing: Aligning feedback pins with audio playback required using actual audio duration from the ElevenLabs response rather than estimated values.
Session continuity (Spaces): Implementing linked interview chains required robust linked-list management in Firestore. Each interview stores
parentIdandchildIdreferences, and follow-up sessions inherit context from previous reports.Persona voice consistency: Ensuring each persona maintained their character throughout conversations required carefully crafted system prompts that enforce personality traits, questioning styles, and evaluation criteria.
Dynamic prompt injection: Getting Gemini-generated prompts into ElevenLabs agents at runtime required understanding the override system and ensuring prompts were properly formatted.
Accomplishments that we're proud of
Session Spaces: Unlike any other interview prep tool, users can continue interviews with full context from previous sessions. The AI remembers your weaknesses.
Resume-aware intelligence: The interviewer doesn't ask generic questions. It targets YOUR specific gaps based on PDF analysis.
5 distinct personas: Each with unique ElevenLabs voices and Gemini-crafted personalities that feel genuinely different.
Multilingual interviews: Ellen conducts complete interviews in 10 languages, not just simple translations.
Immersive experience: Full-screen interview mode with audio visualization makes practice feel like the real thing.
What we learned
ElevenLabs Conversational AI is powerful: The sub-second latency makes voice interactions feel truly natural. The override system allows complete customization of agent behavior at runtime.
Gemini excels at context-aware generation: From generating realistic job archetypes to crafting persona-specific system prompts, Gemini 2.5 Flash Lite handled complex reasoning tasks efficiently.
State synchronization is critical: Managing interview state across Firebase, React, and ElevenLabs required careful design to ensure data integrity and proper session cleanup.
Prompts are product: The quality of interview experiences depended heavily on how well we crafted system prompts. Small changes in wording dramatically affected persona behavior.
What's next for Sparr AI
- Technical Interview Mode: Live coding challenges integrated with voice interviews
- Company-Specific Databases: Real interview questions from specific companies incorporated with our system prompts
- Team/Enterprise Features: Allow hiring managers to create custom interview workflows
- Interview Recording Export: Download sessions for self-review
Built With
- docker
- elevenlabs
- express.js
- firebase
- framer-motion
- gemini
- google-cloud
- javascript
- node.js
- pdf-parse
- react
- reactflow
- recharts
- tailwind
- vertex-ai
- vite

Log in or sign up for Devpost to join the conversation.