Skip to content

jyzeng77/WatTheDuck

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WatTheDuck 🦆

Team repo for WatTheDuck! ConHacks 2026 entry

Destress your debugging.

React TypeScript Django Gemini ElevenLabs

WhatTheDuck! is a cozy rubber duck debugging web app that helps developers explain, debug, and stay focused while coding. It combines a talking duck, AI-powered debugging support, voice interaction, Pomodoro sessions, break reminders, and encouraging ducky feedback to make debugging a little less painful and a lot more quack-tical.

What It Does

WhatTheDuck! gives users an interactive rubber duck companion that they can talk to while debugging. The duck listens to your problem, helps reason through your code, and responds with helpful suggestions. It also keeps track of focus sessions, reminds you to hydrate or take walk breaks, and uses visual icon prompts to help you lock in without burning out.

Features

  • AI-powered debugging help using the Gemini API
  • Voice responses using ElevenLabs API
  • Hand-drawn animated duck frontend
  • Speech bubble messages and encouragement
  • Blinking eyes and moving beak animations
  • Pomodoro timer with study and break intervals
  • Session stats for total time spent and completed Pomodoro sessions
  • Hydration, walk, and focus reminders
  • Dynamic icon states and popup prompts
  • Django backend for API logic
  • React/TypeScript frontend for the interactive UI

Tech Stack

Frontend

React TypeScript CSS3

  • React
  • TypeScript
  • CSS
  • Hand-drawn image assets

Backend

Django Python

  • Django
  • Python
  • Django REST-style API endpoints

APIs

Google Gemini ElevenLabs

  • Google Gemini API
  • ElevenLabs API

How It Works

  1. The user talks to the duck or enters debugging context.
  2. The frontend sends the request to the Django backend.
  3. The backend uses the Gemini API to generate debugging help.
  4. ElevenLabs can generate a spoken duck response.
  5. The frontend displays the response and animates the duck.
  6. The Pomodoro timer and break reminder system help the user stay focused.

Project Structure

WatTheDuck/
├── backend/
│   ├── requirements.txt
│   └── wtd/
│       ├── manage.py
│       ├── db.sqlite3
│       ├── media/
│       │   ├── audio/          # ElevenLabs TTS output
│       │   └── images/         # Screenshot uploads
│       ├── main/               # Core Django app
│       │   ├── models.py
│       │   ├── views.py
│       │   ├── urls.py
│       │   ├── service.py
│       │   ├── thread_manager.py
│       │   ├── signals.py
│       │   ├── migrations/
│       │   └── services/
│       │       ├── breadcrumbs.py
│       │       ├── focus_tracking.py
│       │       ├── pomodoro.py
│       │       ├── query_images.py
│       │       ├── query_text.py
│       │       └── tts.py
│       └── website/            # Django project config
│           ├── settings.py
│           ├── urls.py
│           ├── wsgi.py
│           └── asgi.py
│
├── frontend/
│   ├── public/
│   │   ├── duck/               # Hand-drawn duck assets
│   │   ├── icons/              # UI icons
│   │   ├── mt_icons/           # Reminder icons
│   │   ├── pomo/               # Pomodoro timer assets
│   │   └── fonts/
│   ├── src/
│   │   ├── App.jsx
│   │   ├── App.css
│   │   ├── AppLayout.css
│   │   ├── main.jsx
│   │   ├── components/
│   │   │   ├── Header.jsx
│   │   │   └── ScreenCapture.jsx
│   │   ├── hooks/
│   │   │   └── useSpeechRecognition.js
│   │   └── services/
│   │       ├── api.js
│   │       └── speechService.js
│   ├── vite.config.js
│   └── package.json
│
└── README.md

About

Team repo for WatTheDuck! ConHacks 2026 entry

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 41.6%
  • JavaScript 41.4%
  • CSS 11.0%
  • TypeScript 5.1%
  • HTML 0.9%