DEV Community

vecartier
vecartier

Posted on

CC-Beeper: a retro pager for Claude Code (native macOS, vibe coded, open source)

The problem

I use Claude Code every day. The issue is that I keep getting pulled into other work, and when I come back Claude's been done for 15 minutes, or it's been stuck waiting for a permission I didn't see.

I wanted something that would sit on my desktop and keep me in the loop without having to keep the terminal visible.

What I built

CC-Beeper is a floating macOS widget shaped like a retro pager. It started as a simple status monitor but grew into something more.

It's got a little LCD screen that shows what Claude is doing in real time. But more than just monitoring, you can interact through it: approve or deny permissions, talk to Claude by voice, get spoken recaps when tasks finish. Four auto-accept modes (Strict, Relaxed, Trusted, YOLO) if you don't want to be asked. Hotkeys for everything. Always on top.

I'm a designer and I love retro stuff, so went a bit far with the design: 10 color themes, pixel art animations, three sizes, clap-to-dictate. Everything runs locally, no accounts, no telemetry.

How it works

CC-Beeper uses Claude Code's hook system:

  1. CC-Beeper runs a local HTTP server via Apple's NWListener
  2. Claude Code POSTs events (tool use, permission requests, task completion) to it
  3. CC-Beeper parses events and updates the pager UI

No polling. No file watching. Direct event delivery.

Tech stack

100% Swift + SwiftUI. All Apple native frameworks, zero external dependencies. On-device speech recognition (WhisperKit + Apple Speech) and TTS (Kokoro + Apple). No Electron, no Node, no runtime.

Background

I'm a product designer, not a developer. The whole app is vibe coded with Claude Code. First open source project, for sure imperfect, but I wanted to see how far I could push vibe coding as a non-technical person. Not affiliated with Anthropic.

Try it

Free and open source.

Top comments (0)