Origin Story: Behind the Quack 🦆
Whether you're a complete newbie coder writing 'Hello World' or a crazy experienced dev, there's one tool that never stops coming in handy: the rubber ducky method. The rubber ducky method, famous amongst the coding community, is the practice of verbally explaining or running through your code to improve logic flow, consolidate understanding... and honestly?... to tell yourself that the 50 red lines of bugs you've been seeing for an hour isn't going to drive you insane. What's better than talking to yourself in a dark room? A talking duck here to help you not only solve the issues in your code, but keep you company, boost morale, and ensure you actually get better with each bug instead of succumbing to the common inclination of allowing AI to solve your programming problems.
Let's Quack Into It 🦆
WatTheDuck! is a cozy rubber duck debugging buddy that helps you stay focused while you code and avoid that 'what the *uck' moment. Sir Ducksworth II listens to you yap and, instead of directly feeding you solutions and short-circuiting real understanding, he quacks you through the thought process of debugging by prompting you to think things through on your own. WatTheDuck! utilizes the well-known Socratic method to consolidate new information and target knowledge gaps through real-time, verbal conversations, a tested and true approach to combining absorbing information with applying it. To avoid long, draining debugging spirals, WatTheDuck! also introduces a built-in Pomodoro system. Sir Ducksworth II keeps you on track with gentle check-ins and encouragement along the way, helping you take intentional breaks and return with a clearer mind. The goal is to keep your sessions productive without burning you out. He also cares about the programmer behind the code. Through both verbal reminders and stylized icon visuals that appear at timely intervals, WatTheDuck! makes sure you stay hydrated, keep moving, stay locked in, and are fully set for your debugging flight. Being adaptable to any level or complexity of coding, WatTheDuck! Is suitable for all ages and levels of experience.
Behind Sir Ducksworth II 🦆
A perseverant duck willing to chart their own flight is the coolest one! Following this sentiment, we fully hand-drew our entire frontend, piecing the components together using React and TypeScript. For the lovely British quack you can hear in our demo pitch, we chose to use ElevenAPI by ElevenLabs. Instead of just showing text on screen, the duck can actually “talk” to the user, upgrading the rubber ducky idea and making the experience feel more interactive and personal while guiding them through debugging and Pomodoro sessions. We used the Gemini API to power Sir Ducksworth II’s “thinking.” It processes what the user says during debugging and responds with guiding questions instead of direct answers, helping users reason through problems on their own. While a programmer messaging AI directly would typically just copy + paste the solution into their code, we took care to ensure that users can walk away feeling like they learned something instead of going on a wild goose duck chase. We used Django to structure the entire backend of our app. It manages user sessions for debugging and Pomodoro cycles, stores interaction data, and orchestrates communication between services like Gemini and ElevenLabs. Django also exposes REST endpoints that the frontend calls to send user input and receive AI-generated guidance in real time. Finally, the pièce de résistance: the ESP32. Despite having zero prior knowledge in hardware technology, we knew we had to implement it to make Sir Ducksworth truly complete. We used the ESP32 as a physical extension of our app, bringing the digital experience into the real world. It acts as a tangible Pomodoro companion, receiving signals from our backend to track focus sessions and trigger real-world feedback. Whether it’s lighting up, reacting at break intervals, or subtly reminding you to stay on task, the ESP32 turns Sir Ducksworth from just a voice on your screen into a presence on your desk, reinforcing healthy debugging habits in a way that feels playful but effective.
Flight Turbulence We Experienced
💨 Access to hardware: getting our hands on hardware was difficult; we needed an ESP of higher complexity and we made do with what we had on hand, however as a result, we were unable to include a few hardware features such as wireless connection and a built-into-duck microphone 💨 Scale & integration: as first year programmers, none of us had proper experience creating a fullstack project of this scale, especially with API calls and separate components for frontend, hardware, and backend that had to be integrated to act as one functioning software. 💨 Keeping MVP scope realistic: we were quacking (lol) with great ideas but given the time constraint and the fact that we were using things we hadn't yet dabbled in, we struggled to determine what we could do and what we couldn't do on time. Ideally, we would have pushed a few more features and added additional functionality, but we chose to prioritize a polished, working core experience over cramming in half-finished ideas.
Our Lucky Ducks 🦆
A few things we're proud of: 🐤 Finishing the full stack, ElevenAPI-incorporating project in time for demo 🐤 Being able to make do with what we have and create a hardware-inclusive MVP 🐤 Using a tech stack completely new to us 🐤 Getting bet on by an organizer (ty <3)
What we learned 🦆
🥚 We learned, quite a bit, how to utilize API calls in code and navigate between a multi-lingual based project 🥚 We learned how to bring different components together to act as a single software 🥚 The power of friendship! The more feathers, the better the nest :] 🥚 Conestoga campus is lowkey nice 🥚 How to use Django, , from structuring backend logic and building APIs to managing requests and connecting services across the stack
What's next for WatTheDuck! 🦆
[] Using a computer vision model to detect user activity to help the user stay on track if veering off from work and recognize when breaks (ex: water breaks, stretch breaks, etc.) should be taken. [] Adding the ability to track project progress and tying it to 'Duck Health' to encourage project growth and prevent stagnation [] Breadcrumb System - Rewards System as Motivation: earn breadcrumbs for every minute you spend on a session --> spend breadcrumbs on cool hats and themes for your dashboard and virtual duck [] Furthering Hardware: wireless connection for the physical duck and adding microphones to the duck
With WatTheDuck, you can reach for the skies
Built With
- django
- elevenapi
- esp32
- geminiapi
- react
- sqlite
- typescript
Log in or sign up for Devpost to join the conversation.