An AI-powered code debugging assistant with personality-driven rubber duck debugging.
- 🦆 Interactive Duck Assistants - Choose from different duck personalities to help debug your code
- 💬 Voice Conversations - Talk to your duck using ElevenLabs voice AI
- 🎨 Real-time Code Editor - Write and edit code with syntax highlighting
- 🔐 User Authentication - Secure login with Clerk
- 💾 Persistent Code Storage - Your code is automatically saved per-user with Convex
- 🤖 AI-Powered Feedback - Get intelligent code analysis from Google Gemini
See QUICK_START.md for detailed setup instructions.
- Node.js 18+
- npm/yarn/pnpm
- A Convex account (free at convex.dev)
- Clerk account for authentication
- ElevenLabs API key for voice
- Google Gemini API key for code analysis
-
Install dependencies:
npm install
-
Initialize Convex:
npx convex dev
Follow the prompts to set up your Convex project.
-
Configure environment variables:
cp .env.local.example .env.local
Fill in your API keys and URLs.
-
Run the development servers:
Terminal 1:
npx convex dev
Terminal 2:
npm run dev
- QUICK_START.md - Quick setup guide
- CONVEX_SETUP.md - Detailed Convex configuration
- MIGRATION_SUMMARY.md - Migration from Zustand to Convex
- Frontend: Next.js 15, React, TypeScript, TailwindCSS
- Database: Convex (real-time backend)
- Authentication: Clerk
- AI/ML:
- Google Gemini for code analysis
- ElevenLabs for voice interactions
- UI Components: Radix UI, shadcn/ui
quackoverflow/
├── convex/ # Convex backend functions
│ ├── schema.ts # Database schema
│ └── userCode.ts # Code storage functions
├── src/
│ ├── app/ # Next.js app router
│ ├── components/ # React components
│ ├── lib/ # Utility functions
│ └── store/ # Client state management
└── public/ # Static assets
Required variables in .env.local:
# Convex
NEXT_PUBLIC_CONVEX_URL=
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
# ElevenLabs Voice AI
NEXT_PUBLIC_ELEVENLABS_API_KEY=
# Google Gemini
GEMINI_API_KEY=- User logs in with Clerk authentication
- Code editor loads the user's previously saved code from Convex
- User writes/edits code with auto-save (1-second debounce)
- Select a duck personality to help debug
- Start voice conversation to discuss code issues
- Get AI feedback from Gemini on code quality and bugs
- Code persists across sessions and devices
Contributions are welcome! Please feel free to submit a Pull Request.
This project was created for HackRU Fall 2025.
See QUICK_START.md for common issues and solutions.
Built with 💙 and 🦆 by the QuackOverflow team