{"slug": "show-hn-cyberviber-a-15-touch-screen-to-show-which-claude-session-needs-you", "title": "Show HN: Cyberviber – a $15 touch screen to show which Claude session needs you", "summary": "A developer released Cyberviber, an open-source project that pairs a $15 ESP32-2432S024R 2.4-inch touch display with a local Go daemon to show which Claude Code and Mistral Vibe sessions need attention. Claude Code hooks post events to localhost, and the daemon tracks whether each session is working, waiting for input, finished or idle, listing sessions that need the user first; tapping a session focuses its multiplexer pane, then tab, then window over USB. The firmware renders at 240×320 and works on macOS and Linux with Hyprland, with a browser simulator available for testing without hardware.", "body_md": "**cyberviber** is a 2.4″ touch display that lists the Claude Code sessions running on your computer and shows the state of each. Tapping a session focuses its terminal: the pane, the tab and the window.\n\nAlso shows [Mistral Vibe](https://github.com/mistralai/mistral-vibe) sessions.\n\nClaude Code hooks report to a small daemon, which tracks whether each session is working, waiting for input, finished or idle. Sessions that need you are listed first.\n\nA permission prompt or a question. Blinks and wakes the backlight.\n\nThe turn is finished, e.g. “Done · 3 files changed”.\n\nThinking or running tools. The activity line shows the current step.\n\nReady, but no events for ten minutes (configurable).\n\n**Mistral Vibe** sessions appear in the same list. Vibe has fewer hooks than Claude Code: a session shows up with its first tool call or finished turn, a question shows as needs you, but a permission prompt does not (it stays working), and there is no context usage.\n\nThe tap goes back over USB. The daemon focuses the multiplexer pane first, then the tab, then the window. Works on macOS and on Linux with Hyprland.\n\nEvery hook event is posted to localhost. Sessions that started earlier are found in `~/.claude/sessions`.\n\nKeeps the session list: state, idle timer, process check, context usage.\n\nOne cable for power and data. Wi-Fi is not used.\n\nDraws what the daemon sends, reports taps, dims the backlight when idle.\n\nzellij or herdr pane, Tabby tab, kitty window, Ghostty, foot.\n\nRendered at 240×320. On the device, swipe or press BOOT to switch. The previews run on demo data; tapping a session shows the focus message.\n\nState colours use each palette’s red, yellow and green; the accent is used for selection and focus. Set one with `cyberviber theme nord`. Selecting one here also changes this page.\n\nMissing your terminal, multiplexer, OS or coding agent? [Pull requests](https://github.com/d135-1r43/cyberviber/pulls) are welcome. Multiplexers and terminal apps are pluggable in the daemon.\n\nAn ESP32-2432S024R — the 2.4″ “Cheap Yellow Display” with a resistive XPT2046 touch panel and a CH340 USB bridge. Available on [Amazon](https://www.amazon.com/s?k=ESP32-2432S024R) and [AliExpress](https://www.aliexpress.com/wholesale?SearchText=ESP32-2432S024R).\n\nSearch for:\n\n`ESP32-2432S024R`` ESP32 2.4 inch TFT touch display``Cheap Yellow Display 2.4`\nThe trailing `R` means resistive touch, which the firmware expects. The `C` variant (capacitive) and the 2.8″ `ESP32-2432S028` are different boards.\n\nFor example the [mini monitor case on MakerWorld](https://makerworld.com/en/models/1654522-bongo-cat-mini-monitor-animated-esp32-display#profileId-1749680). Check that it fits the 2.4″ board.\n\nPower and data. The daemon detects the port.\n\nPlatformIO builds the firmware. On first boot, tap the four arrow tips. Hold a finger on the screen while plugging in to calibrate again.\n\n```\n# daemon + hooks + status linecopy\n❯ go install github.com/d135-1r43/cyberviber/cmd/cyberviber@latest\n❯ ~/go/bin/cyberviber install\n  ✓ hooks       ~/.claude/settings.json\n  ✓ statusline  cyberviber statusline\n  ✓ daemon      dev.cyberviber.daemon\n  ✓ vibe hooks  ~/.vibe/hooks.toml (only if ~/.vibe exists)\n\n# firmwarecopy\n❯ cyberviber release 120\n❯ pio run -d firmware -t upload\n❯ cyberviber release 1\n\n# without hardware: browser simulator with live sessions\n❯ cyberviber sim → http://127.0.0.1:7337/\n```\n\n`cyberviber status` session table in your shell`cyberviber layout tiling` waybar · tiling · btop · walker · hyprlock`cyberviber theme nord` stored on the device`cyberviber brightness 60` backlight in percent`cyberviber dim 15` dim after 15 idle minutes`cyberviber usb bottom` flip it, USB port down`cyberviber screenshot out.png` the device screen as PNG`cyberviber uninstall` removes hooks, daemon and plugin", "url": "https://wpnews.pro/news/show-hn-cyberviber-a-15-touch-screen-to-show-which-claude-session-needs-you", "canonical_source": "https://cyberviber.de/", "published_at": "2026-11-14 12:54:07+00:00", "updated_at": "2026-11-14 13:20:11.895877+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-agents"], "entities": ["Cyberviber", "Claude Code", "Mistral Vibe", "ESP32-2432S024R", "Anthropic", "Mistral AI", "Hyprland", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-cyberviber-a-15-touch-screen-to-show-which-claude-session-needs-you", "markdown": "https://wpnews.pro/news/show-hn-cyberviber-a-15-touch-screen-to-show-which-claude-session-needs-you.md", "text": "https://wpnews.pro/news/show-hn-cyberviber-a-15-touch-screen-to-show-which-claude-session-needs-you.txt", "jsonld": "https://wpnews.pro/news/show-hn-cyberviber-a-15-touch-screen-to-show-which-claude-session-needs-you.jsonld"}}