DIY hardware
Want a duck on your desk? Build it. Firmware, PCB files, and print files are all right here.
The original rubber duck just sat there. You talked at it and the thinking happened in your own head. Duck Duck Duck is different. It watches your Claude Code session, reads what you and Claude are doing, forms opinions about it, and tells you what it thinks. It can even enable you to handle routine things, like permissions requests, with your voice.
Every prompt you send and every response Claude gives gets scored across five dimensions: creativity, soundness, ambition, elegance, and risk. The duck turns those scores into reactions. Its face changes. It says something. If you've got the hardware duck, it tilts and quacks. Good code gets enthusiasm. Bad code gets a look.
The scoring uses Apple's on-device Foundation Models by default, so it's fast and private. You can switch to Claude Haiku or Gemini Flash if you want a cloud-based evaluator.
Limitation of liability: When you use Claude or Gemini your messages go to their API. Your messages are subject to Claude or Gemini's API usage terms.
When Claude needs to read a file, run a command, or do anything that requires your approval, the duck steps in. It summarizes the permission request in plain language and asks you out loud. You say “yes,” “no,” or “always allow” and the duck passes it along. No clicking, no context switching. You stay in your flow.
Say “ducky” and ask it a question. It knows about its own setup, modes, and features, and it answers in character. In Relay mode, you can speak commands that get piped directly into Claude Code through tmux, so you can drive a coding session with your voice.
On-device, private, free. Designed for M3+. Your duck never leaves your Mac.
Google's fast model. Free tier, no credit card. Great for M1/M2 Macs.
Anthropic's efficient model. ~$0.001 per eval. Sharpest scoring.
Switch anytime from the menu bar. Default is fully on-device. On M1/M2 Macs, on-device scoring is slow. We recommend a cloud API key (Gemini Flash is free). Cloud scoring sends prompts/responses to the API provider, so see their Privacy Policy.
Companion is the full experience: reactions, voice permissions, wake word, the works. Permissions Only keeps the duck quiet until Claude needs approval. Companion (No Mic) gives you reactions and speech bubbles without listening. And Relay lets you speak commands directly into Claude Code.
You can switch modes from the right-click menu, the menu bar icon, or preferences. The duck works with or without physical hardware. No hardware? Your laptop mic and speakers do the job.
Duck Duck Duck is a SwiftUI macOS app plus a Claude Code plugin. Hooks fire on Claude events and POST to the widget's embedded server. The widget evaluates what happened, turns that into reactions, and broadcasts updates to the desktop UI and optional hardware duck in real time.
Session start, prompt submit, stop, permission requests, compaction events, failures, and post-tool cleanup all feed the duck, who has an unquenchable thirst for the sea.
Apple Foundation Models are the default local evaluator, with optional Claude Haiku and Gemini Flash backends for people who want cloud scoring.
Scores map to voice, face animation, color, movement, permission prompts, and optional hardware behaviors.
A local HTTP + WebSocket server coordinates the widget, browser clients, and USB-connected boards while tmux handles voice-to-CLI relay.
Want a duck on your desk? Build it. Firmware, PCB files, and print files are all right here.
Run Duck Duck Duck today, no hardware required. The public release gives you the software-first duck, and the repo has the full source if you want to dig deeper.
The public repo includes the widget, plugin, firmware, and helper scripts. If you just want the software companion, the README points people to the macOS release download. If you want the full stack, it also documents how to build the widget from source and connect supported boards.
Works best with Claude CLI.
There is experimental support for Gemini. Good luck!
Run into a problem? Submit an issue . Want to say hello? duckduckduck@ideo.com