Technical interviews can be intimidating, repetitive, and difficult to practice realistically. We wanted to build a tool that simulates the full experience, not just focused on coding questions, but emphasizing active communication with real-time follow-ups, clarifications, and hints that an actual interviewer would give.

CodeCoach is a fully voice-driven mock technical interviewer that you can literally talk to. Instead of typing responses or reading text prompts, users simply speak naturally, and CodeCoach listens, understands, and responds out loud, just like a real human interviewer.

When a user selects what type of LeetCode problem they want to practice, CodeCoach generates an appropriate question and conducts the entire interview through two-way spoken conversation. It feels like a real interview, except less scary and available 24/7.

Some key features are

  • Real-time speech-to-text using FishAudio
  • Dynamic, AI-generated interviewer dialogue with selectable voices
  • Integrated coding IDE
  • Interview state machine to simulate realistic interview flow
  • Live chatlog panel with timestamps and message types

Throughout the development of CodeCoach, we overcame major technical challenges such as configuring WebSockets and CORS for real-time audio streaming and synchronizing FishAudio’s speech-to-text and text-to-speech with our LLM to create a seamless, voice-driven interview experience. Despite the complexity of managing continuous bi-directional audio and building a robust interview state machine, we’re proud that we successfully delivered a fully interactive mock interviewer that listens and talks back naturally. We also built a functional coding IDE and a clean chatlog interface, and seeing all these components work together in a smooth, realistic interview flow is one of our biggest accomplishments.

Built With

Share this project:

Updates