Inspiration
We wanted to bring the concept of the rubber ducky debugger to life. DebuggyDucky is a physical rubber duck that you can directly talk to, combining the idea of the classic debugging tool with the intelligence of AI for a more interactive and engaging coding experience.
What it does
DebuggyDucky is a smart, AI-powered assistant in the form of a physical rubber duck. Activated with a press of a button, it springs to life by gracefully rotating and greeting you, ready to assist. DebuggyDucky offers:
- Code Assistance: Discuss your code challenges, and it provides helpful insights or solutions.
- Debugging Assistance: Talk through bugs, and it helps you uncover potential issues.
- Note-taking Capabilities: During the conversation with DebuggyDucky, you can ask it to create a to-do list for you or note down whatever you are discussing. It automatically sends each note to a Discord server via a Discord bot for you to reference and let your teammates know.
- Friendly Companionship: Keeps you company while you code and gently checks in if you’re quiet for too long.
- Conversation Summaries: At the end of each session, DebuggyDucky sends a summary of your key points and action items via a Discord bot, ensuring you never forget an important takeaway.
Behind the scenes, DebuggyDucky uses advanced multithreading techniques, allowing it to simultaneously process your input while delivering real-time responses. This is achieved by splitting the workload across multiple threads, where one handles voice input capture, another processes data, and a third manages responses.
How we built it
Hardware: Arduino Uno, micro servo, speaker, microphone, button, LED light, wires, and stuff
Software: C++: For low-level hardware integration to communicate with the Arduino and physical components. Python: Used for running the main program, powering the logic and behavior of the rubber ducky and also the discord bot. ngrok: hosted URL on it to get and receive data TypeScript: Backend was implemented in Node.js to train and host the AI while the frontend was built with Next.js.
Challenges we ran into
Transitioning from FastAPI to Node.js due to compatibility issues with activating the AI system. Integrating the conversation summaries with the Discord bot posed unexpected difficulties. Trying to implement multi-threading was a pain. Trying to get Retell AI API to work through deprecated documentation and tutorials was a pain. Learning to use hardware for the first time was difficult, trying to connect hardware to our software was even harder. We have so many servers and trying to understand the implementation got difficult too.
Accomplishments that we're proud of
- Successfully enabling real-time communication with DebuggyDucky while coding.
- Implementing robust multithreading, ensuring smooth input reception and response generation simultaneously.
- Creating an engaging and interactive user experience by combining hardware movement, voice interaction, and AI intelligence.
What we learned
Hands-on experience with Arduino programming and integrating various hardware components. Using multithreading. The importance of adapting to new frameworks and overcoming compatibility challenges during development.
What's next for DebuggyDucky
Customizable Personalities: Allowing users to choose DebuggyDucky's voice, personality, and interaction style. Wireless Connectivity: Transitioning to a wireless setup for a sleeker design and easier use. Expanded Integration: Enabling compatibility with other platforms, such as Slack or Microsoft Teams, alongside Discord. Gamification Features: Introducing achievements or rewards for coding sessions to motivate users.
Built With
- c++
- fastapi
- nextjs
- node.js
- python
- react
- typescript


Log in or sign up for Devpost to join the conversation.