{"id":18387,"date":"2026-05-20T22:30:25","date_gmt":"2026-05-20T15:30:25","guid":{"rendered":"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/"},"modified":"2026-05-20T22:30:25","modified_gmt":"2026-05-20T15:30:25","slug":"this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing","status":"publish","type":"post","link":"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/","title":{"rendered":"This $30 Gadget Gives Claude a Face That Reacts to What It\u2019s Doing"},"content":{"rendered":"<\/p>\n<p>AI assistants have mostly lived inside screens, and that\u2019s been fine, until you\u2019re deep in a coding session and Claude is quietly running shell commands, editing files, and hitting tool after tool in the background. Knowing what\u2019s happening without constantly alt-tabbing is harder than it should be, and approving or denying an action while keeping your hands on the keyboard is even harder.<\/p>\n<p>That\u2019s the gap Claude Desktop Buddy was built to fill. Released as an open-source project by Anthropic in April 2026 and built as a prototype by OpenELAB, it turns a small ESP32-based device into a physical companion that sits on your desk and mirrors the activity of the Claude desktop app over Bluetooth Low Energy. It wakes when a Claude Code session starts, idles quietly while Claude works, and gets visibly impatient when a permission prompt is waiting for your attention.<\/p>\n<p>Designer: <a href=\"https:\/\/claude-desktop-buddy.com\/\">Anthropic<\/a>, OpenELAB<\/p>\n<\/p>\n<p>The reference hardware is the M5StickC Plus, a pocket-sized board with a 135\u00d7240 color display, buttons, a built-in IMU, and a LiPo battery. It costs around $30 and comes pre-supported by the firmware. When Claude Code asks to run a shell command or access a sensitive file, the device lights its screen, buzzes, and shows the prompt. Button A approves. Button B denies. No switching windows, no hunting for the right modal.<\/p>\n<p>Beyond the permission workflow, the device also doubles as a passive status indicator. A full vocabulary of animated states, including idle, busy, attention, celebrate, dizzy, and heart, plays out on the small screen depending on what Claude is doing. Shake the device to make it dizzy, flip it face-down to put it in nap mode, and it\u2019ll power off the screen after 30 seconds to preserve battery. The built-in IMU handles all of this through physical gestures.<\/p>\n<\/p>\n<p>Transcript scrollback is another feature that makes more sense once you\u2019ve used it. Rather than breaking focus to check what Claude just said, you can scroll recent messages directly on the device\u2019s display. It keeps the primary workflow uninterrupted in a way that alt-tabbing simply doesn\u2019t. The device pairs once and reconnects automatically whenever both sides are awake, so there\u2019s no daily setup ritual.<\/p>\n<\/p>\n<p>Character customization adds a layer of personality that feels unexpectedly considered for what is, technically, a developer tool. You can drag a custom GIF character pack directly onto the Hardware Buddy window, and the device switches to the new character live. The default character, a small frog called Bufo, ships with the firmware.<\/p>\n<p>There\u2019s something genuinely different about having a physical object on your desk that reacts to an AI working in the background. It turns an invisible process into something with a face, a mood, and a pair of buttons that put control back in your hands without disrupting what you were doing.<\/p>\n<\/p>\n<p>The post <a href=\"https:\/\/www.yankodesign.com\/2026\/05\/20\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/\">This $30 Gadget Gives Claude a Face That Reacts to What It\u2019s Doing<\/a> first appeared on <a href=\"https:\/\/www.yankodesign.com\/\">Yanko Design<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AI assistants have mostly lived inside screens, and that\u2019s been fine, until you\u2019re deep in a coding session and Claude is quietly running shell commands, editing files, and hitting tool after tool in the background. &hellip; <\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>This $30 Gadget Gives Claude a Face That Reacts to What It\u2019s Doing - Blog TSK<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"This $30 Gadget Gives Claude a Face That Reacts to What It\u2019s Doing - Blog TSK\" \/>\n<meta property=\"og:description\" content=\"AI assistants have mostly lived inside screens, and that\u2019s been fine, until you\u2019re deep in a coding session and Claude is quietly running shell commands, editing files, and hitting tool after tool in the background. &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog TSK\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-20T15:30:25+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cstc.vn\/blogtsk\/#website\",\"url\":\"https:\/\/cstc.vn\/blogtsk\/\",\"name\":\"Blog TSK\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cstc.vn\/blogtsk\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/#webpage\",\"url\":\"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/\",\"name\":\"This $30 Gadget Gives Claude a Face That Reacts to What It\\u2019s Doing - Blog TSK\",\"isPartOf\":{\"@id\":\"https:\/\/cstc.vn\/blogtsk\/#website\"},\"datePublished\":\"2026-05-20T15:30:25+00:00\",\"dateModified\":\"2026-05-20T15:30:25+00:00\",\"author\":{\"@id\":\"\"},\"breadcrumb\":{\"@id\":\"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cstc.vn\/blogtsk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"This $30 Gadget Gives Claude a Face That Reacts to What It\\u2019s Doing\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"This $30 Gadget Gives Claude a Face That Reacts to What It\u2019s Doing - Blog TSK","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/","og_locale":"en_US","og_type":"article","og_title":"This $30 Gadget Gives Claude a Face That Reacts to What It\u2019s Doing - Blog TSK","og_description":"AI assistants have mostly lived inside screens, and that\u2019s been fine, until you\u2019re deep in a coding session and Claude is quietly running shell commands, editing files, and hitting tool after tool in the background. &hellip;","og_url":"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/","og_site_name":"Blog TSK","article_published_time":"2026-05-20T15:30:25+00:00","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/cstc.vn\/blogtsk\/#website","url":"https:\/\/cstc.vn\/blogtsk\/","name":"Blog TSK","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cstc.vn\/blogtsk\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/#webpage","url":"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/","name":"This $30 Gadget Gives Claude a Face That Reacts to What It\u2019s Doing - Blog TSK","isPartOf":{"@id":"https:\/\/cstc.vn\/blogtsk\/#website"},"datePublished":"2026-05-20T15:30:25+00:00","dateModified":"2026-05-20T15:30:25+00:00","author":{"@id":""},"breadcrumb":{"@id":"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/cstc.vn\/blogtsk\/this-30-gadget-gives-claude-a-face-that-reacts-to-what-its-doing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cstc.vn\/blogtsk\/"},{"@type":"ListItem","position":2,"name":"This $30 Gadget Gives Claude a Face That Reacts to What It\u2019s Doing"}]}]}},"_links":{"self":[{"href":"https:\/\/cstc.vn\/blogtsk\/wp-json\/wp\/v2\/posts\/18387"}],"collection":[{"href":"https:\/\/cstc.vn\/blogtsk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cstc.vn\/blogtsk\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/cstc.vn\/blogtsk\/wp-json\/wp\/v2\/comments?post=18387"}],"version-history":[{"count":0,"href":"https:\/\/cstc.vn\/blogtsk\/wp-json\/wp\/v2\/posts\/18387\/revisions"}],"wp:attachment":[{"href":"https:\/\/cstc.vn\/blogtsk\/wp-json\/wp\/v2\/media?parent=18387"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cstc.vn\/blogtsk\/wp-json\/wp\/v2\/categories?post=18387"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cstc.vn\/blogtsk\/wp-json\/wp\/v2\/tags?post=18387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}