🦆 QuackOverflow — Your AI Rubber Duck Debugger

Inspiration

Every programmer has heard of rubber duck debugging. The idea is that simply explaining your code out loud can help you find bugs and understand your logic better. But what if your “rubber duck” could actually listen, understand, and guide you? AI is often the “first line of defense” for many students today. And while office hours and recitations are undoubtedly the best avenues for help, AI can have faster response times, be more accessible, and be more understanding of different personalities. So, we built QuackOverflow to make debugging more reflective and less frustrating. Instead of instantly telling you the answer, QuackOverflow helps you think through your own code. It encourages learning, not dependency, helping students and developers sharpen their reasoning while still benefiting from AI assistance.

What It Does

QuackCode lets you copy and paste your code, then talk directly to an AI-powered “rubber duck” that guides you through your logic line by line.

  • Conversational Debugging: Users explain their code verbally. The AI listens, asks clarifying questions, and gently nudges them toward potential logic errors or misunderstandings.
  • Multiple Duck Personalities: Choose between different debugging styles: The classic Rubber Duck (encouraging and patient) and Angry Duck (direct and fast-paced).
  • Code Awareness: The AI reads your pasted code (any language!), identifies structure and syntax, and tailors its responses to your specific problem.
  • Voice Input and Output: Using the ElevenLabs API, Quack Overflow supports natural spoken interaction for a hands-free experience. QuackCode doesn’t just fix your bugs, it helps you understand why they exist.

How We Built It

We focused on creating a smooth, responsive, and intelligent user experience that feels like talking to a mentor.

  • Frontend: Built with Next.js and TailwindCSS for fast rendering and minimal, intuitive design.
  • Backend: A Next.js server manages API calls and session states.
  • AI Integration: Powered by the Google Gemini API (Gemini 2.5 Flash) to enable reasoning-based conversations that adapt to user explanations.
  • Voice Support: Integrated ElevenLabs API for real-time conversational interactions.
  • State Management: Implemented React context to manage multi-turn conversations and personality selection. This architecture allows for dynamic, context-aware debugging sessions that feel both natural and technically robust.

Challenges We Ran Into

  • Getting the AI to “listen” properly — ensuring it understood context across multiple turns was tricky.
  • Managing speech input latency and interruptions between users and AI responses.
  • Designing personalities that feel distinct without losing debugging effectiveness.
  • Team synergy, as today was the first day some of us had met.

Accomplishments That We're Proud Of

  • Creating a natural, engaging debugging flow that promotes active learning.
  • Seamlessly integrating voice capabilities with real-time AI understanding, making your experience feel like a real conversation.
  • Designing a personality system that transforms how users emotionally engage with AI tutoring.

What We Learned

  • Teaching through questioning is far more powerful than giving direct answers, and AI can be surprisingly effective at it.
  • How to architect multi-turn reasoning in a conversational setting using ElevenLabs.
  • The value of UX design in making AI tutoring feel accessible, friendly, and even fun.

What’s Next for QuackOverflow

  • Language Expansion: Add multilingual support for users who are more comfortable speaking in a foreign language.
  • Integration: Build a VS Code and Chrome extension for in-line AI debugging.
  • Learning Analytics: Track user explanations over time to show growth in reasoning ability, and share results with professors.
  • Community Ducks: Let users train and share their own AI duck personalities. Our goal is to make Quack Overflow the go-to AI debugging companion for every student and developer.

Built With

next.js | tailwindcss | google-genai | elevenlabs | clerk | convex

Demo

Built With

Share this project:

Updates