← All work

Independent project / Public repository

A local-first voice agent, built to be inspected.

Speech, local reasoning, tools, and memory — connected in a documented Python application.

My role
Independent implementation
Period
2026
Key technologies
Python · faster-whisper · Ollama / Qwen · Tool calling · Local memory
ORBIT04 / SYSTEMS
Listen / Reason / Act / RespondConcept illustration

01 / Context

The problem.

A voice agent needs more than speech and language models. Audio state, tool boundaries, memory, application integration, and feedback shape the interaction.

02 / My contribution

What I built.

I built an inspectable stack with on-device ASR, local inference, tool selection, speech synthesis, memory, desktop automation, telemetry, and action controls. The public repository includes architecture documentation and tests.

03 / Approach

Engineering decisions.

  1. Choose deliberate audio behavior

    Default half-duplex audio gates the microphone during speech synthesis so the agent does not transcribe its own output.

  2. Separate orchestration from tools

    Configuration, memory, tools, audio, and interface responsibilities live in distinct modules.

  3. Make failures visible

    Tool outcomes feed back into the interaction instead of unconditional success messages.

  4. Define local-first

    Inference runs locally, while web search and some external tools still need internet connectivity.

04 / Outcome & context

What this work shows.

A public project exposing implementation, architecture, configuration, and limitations. Desktop automation currently targets Windows and depends on installed applications and model configuration.

An inspectable implementation makes it possible to discuss behavior beyond the model’s response.

Explore the repository

Keep exploring

Commerce Experience