UPDATE: LeetDuck is now live at https://leetduck.com! Check it out!

Inspiration

Leetcoding alone has never been enough for me to feel confident talking about my code as I write it (for technical interview prep). I usually turn to a friend for mock interviews, or if I'm in a bind: a rubber duck (who I pretend is listening very intently).

What if... the duck could talk back?

Enter Leet Duck. Leetcode is only half the battle to prepare for technical interviews in my opinion, LeetDuck attempts to fill in the gap.

What it does

LeetDuck is a Chrome extension that transforms any LeetCode problem into a realistic technical interview. It uses AI-powered voice interaction to simulate company-specific interviewers (Meta, Amazon, X, OpenAI) who ask questions, provide hints, and conduct behavioral assessments. The extension tracks your code iterations, errors, and test results in real-time, then generates a comprehensive interview report with AI feedback.

How we built it

Frontend: React web dashboard for reviewing interviews Chrome Extension: Vanilla HTML and JS Chrome extension Backend: Express.js server handling API calls (OPEN AI Whisper, Eleven Labs TTS, etc) and Firestore database

Features: Push-to-talk voice interaction, code and conversation iteration tracking, ai post interview feedback, test/submission result scraping, behavioral question pool integration

Challenges we ran into

  • Synchronizing authentication between Chrome extension and web app
  • Scraping dynamic LeetCode UI elements reliably (code editor, errors, test results)
  • Preserving exact code formatting (whitespace, comments) for accurate error line matching
  • Managing audio playback and preventing overlap during TTS generation
  • Merging code iterations with conversation history for accurate timeline reconstruction in code review section

Accomplishments that we're proud of

  • Real-time code tracking that captures every iteration with timestamps, errors, and test results
  • Company-specific interview personas with authentic behavioral questions
  • Seamless voice interaction with push-to-talk and natural conversation flow
  • Comprehensive interview reports with AI-generated feedback and grading
  • Full-stack architecture with secure backend API and persistent storage
  • Something I can finally use to stop feeling so uncomfortable talking about my code out loud during technical interviews!

What we learned

  • Refresher on Chrome extension architecture (Manifest V3, content scripts, background workers)
  • Firebase Admin SDK vs client SDK differences and timestamp handling
  • Real-time DOM scraping techniques
  • Building conversational AI that guides without giving away solutions (harder than it sounds lol)

What's next for Leet Duck

  • Fine-tune AI models on actual technical interview transcripts for more realistic conversations
  • Launch hosted version with cloud infrastructure for broader access
  • Add more company personas and interview styles
  • Implement interview analytics and progress tracking
  • Support for system design + more formats!

Built With

Share this project:

Updates