Work by Ali AlQattan

AI agents, developer tools and production engineering.

Vox

Local voice runtime and MCP server for AI coding agents.

One shared microphone and speaker for Claude Code, Codex and any MCP client. whisper.cpp and Kokoro run on the machine; the runtime refuses to start unless every speech endpoint is loopback. Persistent audio daemon, reconnectable adapters, a queued OFF → IDLE → LISTENING / SPEAKING lifecycle, system-wide hotkeys.

Inside Vox

Several coding agents share one microphone and speaker. If each client owns audio, reconnects and overlapping turns can interrupt a reply or leave recording work behind.

I built the macOS runtime, MCP adapter, audio lifecycle and controls. The source is public under MIT at github.com/AlqattanDev/vox-mcp, and one install.sh builds whisper.cpp, Kokoro and Vox on an Apple silicon Mac.

MCP clients → persistent local runtime → one FIFO operation gate → capture and playback → local Whisper and Kokoro services. The runtime owns cancellation and state; an agent host can reconnect independently.

Queue competing turns instead of rejecting them. A second call from the same agent is still a competitor. Waiting is bounded, and cancellation drains queued work so it cannot unexpectedly speak later.

6 September 2026, source 71f91ae: 35 lease and configuration tests passed. A separate run of the real OperationGate produced the transcript below. This exercise used timed tasks, with no microphone, speech model or cloud call.

The terminal exercise and the recorded session prove queue ordering and cancellation through the real runtime, driven from its command line rather than a live agent conversation. The separate speech sample demonstrates local synthesis and file transcription, not microphone capture. Speech inference stays on the Mac. Optional phone mode transports audio between the paired phone and Mac; it is not an assertion that audio can never leave the machine. The source is public, so all of this can be checked in the code.

agent A: entered
agent A: released
agent B: entered
agent B: released
PASS: the second caller entered only after the first released.
6 September 2026 · 6.8 seconds. Vox’s local speech client generated this file through Kokoro, then Whisper transcribed it with the same words. Generated voice; no microphone input. The recording details identify the exact client version used.

Transcript: Two agents share one microphone. Each turn waits its place. Speech is generated and transcribed on this Mac.

Recording details
Project

room

Agent-supervision harness (tmux companion) for coding agents. Retired 18 Sep 2026; the case study stays.

Paints what every coding agent on the machine is doing — working, idle, errored, waiting on a permission — onto pane borders, tabs and the status bar. An audit found the chrome itself was an execution path (tmux expands #(cmd) in format strings), so one untrusted() filter now gates every rendered field. 21 shell suites, over 1,000 assertions, against a fake tmux.

Inside room

With agents in several tmux windows, a permission request or a finished run is easy to miss. I wanted that information on the pane label, window tab and status bar I already use.

I built the scanner, writer and agent hooks for my own terminal workflow. The source remains private; this page exposes the design and a bounded verification record.

Agent hooks and process observations → scanner rows → writer state → stored tmux options → pane labels, window tabs and the bar. A short finished state distinguishes a completed turn from ordinary idle time. Failed reads keep the last known state briefly.

Treat all agent-provided labels as untrusted input. tmux expands formats, so a title can become executable syntax. The writer strips control and expansion characters and escapes hashes before storing display fields; unknown tools cannot choose their own attention colour.

6 September 2026, source a51c969: tests/test-said.sh passed 83 assertions. The suite checks report identity, state transitions, hostile labels and rendered formats using fixtures and an isolated tmux server. The selected output below comes from that run.

This is a recorded test demonstration with synthetic agent reports, not a recording of live client work. State depends on what hooks and processes reveal; the chrome is a useful signal, not proof that an agent’s answer is correct.

ok   a hash in a title is doubled, so tmux prints it instead of running it
ok   a style in a title cannot paint a fake needs-you
ok   a dollar is dropped, so source-file cannot leak the environment

test-said: 83 passed, 0 failed

Private source

grokctl

Media-generation controller over two provider planes.

One CLI and studio driving image and video generation through the xAI platform API (OAuth, Files, Batch, exact per-tick usage) and the Grok consumer app through real Chrome over CDP. Provider selection is mandatory; every result is proven by bytes on disk, never by what the page says.

Project

kiro-claude-bridge

Zero-dependency Anthropic Messages API proxy.

A local HTTP server that speaks the Anthropic Messages API and translates each request to a different vendor’s streaming API, so Claude Code runs unchanged on that backend. Plain Node 22 running the TypeScript sources, no runtime dependencies; a bootstrap script brings a fresh Linux box to a running session with curl and tar.

Project
CVContact

The rest of the shop

4 more projects and apps, live and self-hosted. Click one and you are using the real thing.