Deven Varu

Production AI product / Jun 2026 - Present

InterviewWithAI

Real-time AI coding interview platform where a voice agent observes a candidate's coding process, asks context-aware follow-up questions, and evaluates how they approach problems.

Independent product / Product engineer / Live

Next.js / React / TypeScript / NestJS / Mastra / Deepgram / Kokoro / Monaco Editor / Docker / Supabase

InterviewWithAI project media preview

Highlights

  • Built a real-time voice interview pipeline using Deepgram for speech-to-text, an LLM for reasoning, and Kokoro for text-to-speech.
  • Orchestrated interview behavior with Mastra, giving the agent access to conversation state, interview context, and the candidate's coding activity.
  • Built an integrated coding environment with Monaco Editor and Docker-based code execution, allowing candidates to write, run, and discuss code during the interview.
  • Designed the backend for interview sessions, transcripts, questions, code submissions, and structured AI evaluations.

Problem

Most interview-practice tools separate coding, conversation, and feedback into different experiences. That makes it difficult to recreate the part of a real technical interview that matters most: explaining decisions while solving a problem and responding to questions that change based on what you actually do.

InterviewWithAI brings those pieces into a single session so the interviewer can react to both the conversation and the candidate's coding process.

What I built

I built the product end-to-end around a real-time AI interviewer.

The voice pipeline uses Deepgram to transcribe the candidate, an LLM to reason about the conversation and interview context, and Kokoro to generate the agent's speech. Mastra orchestrates those components and manages the context the interviewer needs to decide what to ask next.

For technical interviews, candidates work inside a browser-based Monaco Editor. Code can be executed inside a Docker container, allowing the interview experience to include writing, running, debugging, and discussing actual code rather than treating coding as a separate exercise.

The backend manages interview sessions, questions, transcripts, code submissions, and evaluation data used to generate structured feedback after the session.

How it works

A session connects three parts of the system: the voice agent, coding environment, and interview state.

  • The candidate speaks and Deepgram converts the audio into text.
  • Mastra provides the LLM with the relevant conversation, interview context, and coding activity.
  • The LLM determines the interviewer's next response or follow-up question.
  • Kokoro converts that response back into speech for the candidate.
  • During coding questions, the candidate writes code in Monaco Editor and can execute it through the application's Docker-based execution environment.
  • Conversation transcripts, coding activity, submissions, and session data are stored for the evaluation pipeline.
  • After the interview, the system produces structured feedback based on the candidate's solution and how they approached the problem.

Related projects