Inspiration

Many students struggle with LeetCode preparation, facing challenges like not knowing where to start, feeling isolated, and lacking personalized feedback. We wanted to create the anti-InterviewCoder tool, making coding interview practice more accessible and engaging by providing real-time guidance and support through an AI assistant that users can actually talk to.

What it does

LeetCoach is an AI-powered coding companion that:

  • Provides practice problems with integrated code execution
  • Offers voice-enabled AI support for hands-free assistance
  • Delivers real-time feedback on code quality, complexity, and edge cases
  • Uses Neuphonic's text-to-speech technology for natural voice responses
  • Tracks progress with an integrated timer to help users improve their speed

How we built it

  • Frontend: Next.js with TypeScript and Tailwind CSS for a responsive UI
  • Backend: Python AIOHTTP service ("codedriver") for secure code execution
  • AI Integration: Connected to Gemini API via Google AI client
  • Voice Technology: Integrated Web Speech API for transcription and Neuphonic API for natural-sounding responses
  • Code Editor: Implemented with CodeMirror for an intuitive coding experience
  • Security: Sandboxed environment for code execution with limited imports

Challenges we ran into

  • Creating a secure sandbox for executing user code without vulnerabilities
  • Optimising prompt engineering to get concise, helpful feedback from the AI
  • Added constraint of being forced to use Neuphonic's voice AI rather than a foundational model or Hume.ai.
  • Properly accessing our cloud run function to provide insights amid very unclear and deprecated documentation for endpoints

Accomplishments that we're proud of

  • Successfully integrated voice interaction with an AI coding assistant
  • Created a secure code execution environment that prevents harmful operations
  • Made the platform accessible even to beginner programmers

What we learned

  • Advanced techniques for secure code execution in Python
  • Prompt engineering for targeted, concise AI responses
  • Integration of speech recognition and synthesis APIs
  • Deployment strategies for Next.js applications with external APIs

What's next for LeetCoach

  • Expanding the problem database with even more questions and difficulty levels
  • Adding more programming language support beyond Python
  • Creating a collaborative mode for pair programming practice
  • Developing more advanced AI coaching for specific interview techniques
  • Building interview simulation mode with timed challenges and mock feedback

Built With

Share this project:

Updates