Personal Projects · 2026

Claude Voice

Voice interface for Claude Code on macOS with local speech recognition, tool approvals and speech output. Built with React, Rust and Tauri.

Voice interface

Voice interface

The problem

Working with Claude Code means moving between speech, a terminal and tool approvals. A voice interface should connect those workflows while keeping agent actions visible.

My contribution

My own open-source project for macOS. I develop the desktop interface and the connections between speech recognition, Claude sessions, tool approvals and speech output.

Technical decision

Speech recognition runs locally with whisper.cpp. Desktop, browser and terminal interfaces share session and speech functions rather than maintaining separate implementations.

Implementation

React and TypeScript provide the interface; Rust and Tauri provide desktop integration. Global shortcuts and menu-bar access support voice interaction, while tool approvals remain an explicit step.

Outcome

The public repository provides desktop, browser and terminal entry points, plus a read-aloud hook. The same voice workflow can be accessed from different working environments.

Limitations and trade-offs

Local speech recognition does not mean the entire application works offline: the completed transcript is sent to Claude. Desktop integration targets macOS.

Claude Agent SDK · React · TypeScript · Rust · Tauri · whisper.cpp

← Back