About the project
PrepTalk is a voice-first interview practice app that helps candidates prepare with realistic, resume-grounded coaching. Instead of generic mock questions, PrepTalk generates targeted interview prompts from the user’s uploaded resume and job description, then gives actionable feedback and exports a study guide that the user can review before real interviews.
What it does
Contextual setup Users upload a resume and a target job description (file or URL).
Interview question generation The app generates tailored questions aligned to role expectations and the candidate's background.
Voice practice session (turn-based) Users answer by voice in a guided turn-based flow with controls for submit/help/mute/end.
Resume-grounded coaching “Request Help” produces answer guidance tied to evidence from the uploaded resume, plus identified gaps.
Scoring + exports At the session end, PrepTalk produces a score summary and a downloadable PDF/TXT study guide with transcript, strengths, and focus areas.
Privacy by default On intake, PrepTalk redacts personal contact identifiers from the resume text (last name, phone, email, and LinkedIn handle) before generating questions and coaching, while preserving role-relevant context.
Responsive UI
PrepTalk is designed for desktop, tablet, and mobile web.
- Desktop: Full two-column coaching workspace with persistent session controls and transcript context.
- Tablet: Optimized stacked/condensed layout that preserves core controls and readability.
- Mobile: Compact single-column flow with touch-friendly controls, anchored session actions, and export support.
The same core interview workflow is available across all form factors: setup → generate questions → voice practice → score → PDF/TXT export
How we built it
- Backend: FastAPI APIs for setup, voice turns, help, scoring, export, and telemetry.
- Gemini integration (core):
gemini-3-flash-previewfor question generation, answer evaluation, and coaching/scoring.gemini-2.5-flash-native-audio-preview-12-2025available in architecture for live audio transport capability.
- Voice output path:
Primary provider in deployment is OpenAI TTS (
gpt-4o-mini-tts) with fallback support to Gemini TTS models. - Frontend: Vanilla JS + browser audio APIs with adaptive audio profiles (16/24/48 kHz) and responsive mobile/desktop UI.
- Export: WeasyPrint-based PDF generation plus TXT export.
- Observability: Journey telemetry for setup/session/score/export verification. ## Challenges we ran into
- Turn-taking reliability: distinguishing pauses from completed answers.
- Voice fallback consistency: handling provider/model latency and empty-audio cases without breaking session flow.
- Cross-browser behavior: Safari vs Chrome differences in speech recognition/playback.
- Feedback quality: making coaching specific and tough-but-useful instead of generic.
Accomplishments we’re proud of
- Strong Gemini-generated questions that feel role-specific and practical.
- Helpful, evidence-based coaching grounded in what the candidate actually provided.
- Actionable outputs (study guide + transcript + score) users can study immediately.
- Revision-safe operations with test/prod endpoints, rollback capability, and telemetry checks.
What we learned
- Voice UX is extremely sensitive to latency and recovery behavior.
- “Smart fallback” design matters as much as model quality.
- Explicit session controls improve confidence in high-stakes practice.
- Instrumentation is essential for quickly finding and fixing real user issues.
What’s next
- Deeper session continuity across longer interviews.
- More interviewer personas and company-specific styles.
- Expanded analytics pipeline for richer journey insights.
- Additional coaching signals around delivery and structure.
Gemini integration summary
PrepTalk uses Gemini as the core reasoning engine for interview
generation and coaching.
gemini-3-flash-preview powers question generation, turn evaluation,
and scoring/feedback logic from uploaded resume + JD context.
We also maintain compatibility with Gemini live audio transport
(gemini-2.5-flash-native-audio-preview-12-2025) in the architecture,
while the current user flow is turn-based.
The app is designed so that Gemini outputs are tied to the candidate-provided
evidence, producing practical coaching drafts and gap guidance rather
than generic interview tips.
Testing instructions
- Demo URL:
https://preptalk-west-cz47ti6tbq-uw.a.run.app/ - Access token:
practice_again - Browser: Chrome or Safari recommended
Demo flow
- Upload resume and job description.
- Click Generate Questions.
- Start the turn-based voice practice session.
- Use Request Help at least once.
- Submit answers and end practice.
- Export PDF/TXT study guide.
Menu + Extras
PrepTalk runs as turn-based. Use Menu → Extras to adjust available voice output/provider/model options for testing and comparison.
Built With
- fastapi
- google-ai-studio
- google-gemini
- html5
- javascript
- python
- weasyprint
- websockets
Log in or sign up for Devpost to join the conversation.