Inspiration
Preparing for technical software engineering interviews has traditionally suffered from a fundamental disconnect: candidates consume passive video tutorials or read static documentation, but technical interviews demand real-time vocal articulation, live problem-solving, and conceptual agility under pressure.
When preparing for Data Structures, Algorithms, and System Design interviews, candidates often struggle with the "mock interview bottleneck" human mock interviews are expensive, difficult to schedule, and intimidating for early-stage preparation. We were inspired to build MyPrep to bridge this gap: an on-demand, voice-first learning platform where candidates can hold natural, real-time conversations with specialized AI voice companions, generate personalized study roadmaps tailored to their target timelines, and validate retention through dynamic AI quizzes.
What it does
MyPrep provides an end-to-end technical interview preparation ecosystem:
Conversational Voice Companions: Candidates select or create customized voice tutors for subjects like Data Structures & Algorithms, System Design, Operating Systems, and Database Management Systems. Users converse through low-latency audio, articulating their reasoning aloud while the companion provides real-time guidance, socratic questioning, and concept breakdown. AI Roadmap Synthesis: Users input their high-level career goals (e.g., "Prepare for a Senior Backend interview in 8 weeks focusing on distributed systems"), and the platform generates a structured, multi-topic syllabus with actionable milestones linked directly into voice companion sessions. Adaptive AI Quiz Engine: Automatically extracts core concepts from custom topics or raw study notes to generate 5-question multiple-choice assessments with immediate feedback, rationale explanations, and persistent score tracking.
How we built it
MyPrep was architected as a modern full-stack web application leveraging Next.js App Router and a decoupled AI infrastructure:
[ Client: Next.js + Tailwind + Space Mono ] │ │ ▼ (WebSocket Stream) ▼ (Server Actions) [ Vapi AI Voice Gateway ] [ Vercel AI SDK + Gemini 3.6 Flash ] ├── Deepgram Nova-3 (STT) │ ├── GPT-4o-mini (Reasoning) ▼ └── ElevenLabs (TTS) [ Supabase PostgreSQL + Clerk Auth ]
Technical Implementation Voice Pipeline: Integrated the Vapi AI Web SDK over bidirectional WebSockets to achieve sub-second conversational latency. Speech-to-text is handled by Deepgram Nova-3, conversational reasoning by structured LLM system prompts, and text-to-speech synthesis by ElevenLabs.
Generative AI Engine: Built server-side generation routines using the Vercel AI SDK (ai, @ai-sdk/google) powered by Google Gemini 3.6 Flash. We utilized generateObject paired with strict zod schemas to guarantee deterministic JSON output structures for roadmap curricula and quiz question banks.
Data Persistence & Auth: Secured identity management via Clerk, passing authenticated session JWTs to Supabase (PostgreSQL). We utilized native PostgreSQL jsonb columns to store nested roadmap milestones and question-option-explanation trees efficiently without unnecessary table normalization overhead.
Challenges we ran into
Minimizing Conversational Latency in Voice AI: Standard HTTP request-response cycles introduce unacceptable lag in conversational pedagogy. We resolved this by migrating audio streams to persistent WebSocket connections through Vapi's client SDK, configuring voice endpointing parameters to prevent the AI from interrupting the student mid-thought. Schema Enforcement Across Generative Outputs: Ensuring that large language models consistently return valid array lengths, balanced multiple-choice Questions and exact answer indices without schema hallucinations. We solved this by using strict Zod schema validation rules directly within the Gemini generation pipeline.
Accomplishments that we're proud of
Built an ultra-low latency voice companion that feels like speaking to an empathetic, real-time human engineering mentor. Seamlessly connected generative AI roadmaps with active voice rooms — clicking any roadmap node instantly instantiates a targeted voice tutor for that specific topic. Achieved sub-2-second generation times for full 5-question technical quizzes and custom multi-step roadmaps using Gemini 3.6 Flash. Implemented a complete end-to-end product architecture with responsive design, persistent database storage, and secure authentication.
What we learned
Voice UX requires distinct prompt engineering: Designing system prompts for voice models differs fundamentally from text chat; voice models must avoid markdown, nested bullet points, or complex math notation that sound unnatural when synthesized through text-to-speech engines. Server Actions streamline AI state workflows: Leveraging Next.js Server Actions with the Vercel AI SDK significantly reduced client-side bundle size while keeping API secrets completely isolated from the browser. Schema-first AI generation eliminates frontend edge cases: Enforcing runtime Zod validation directly on LLM outputs eliminates unpredictable rendering errors on the frontend.
What's next for MyPrep
Interactive Code Sandbox during Voice Calls: Real-time collaborative code editor allowing the voice companion to observe candidates writing code and provide live voice debugging feedback. Post-Session Transcript & Speech Analytics: Automated session summaries highlighting communication clarity, technical depth, and areas for improvement powered by multimodal evaluation models. Community-Curated Roadmap Marketplace: Enabling senior engineers to publish and share specialized prep tracks for specific company interview loops.
Built With
- clerk
- deepgram
- elevenlabs
- gemini-api
- generative-ai
- google-gemini
- next.js
- node.js
- openai
- postgresql
- radix-ui
- react
- rest-api
- sql
- supabase
- tailwind-css
- turbopack
- typescript
- vapi-ai
- vercel-ai-sdk
- voice-ai
- websockets
- zod
Log in or sign up for Devpost to join the conversation.