Skip to content
Muhammad Musa
← All work

Agent systems

Let the model speak. Keep control explicit.

I built a voice-workflow prototype that connects grounded research, verified pitches and a deterministic conversation controller.

My role

I designed and built the pipeline, data contracts, audio loop and state-machine boundaries.

Where it stands

Prototype. The documented version has not placed real phone calls. Discovery and voice components run locally; some writing and verification use cloud models.

What changed.

A working local simulation with business discovery, a writer/verifier loop, speech recognition and speech synthesis.

Separate language from control

The language model supplies wording inside a defined state. Typed classifiers and a deterministic state machine decide which transition is allowed. The audio loop supports interrupted playback rather than assuming the other person waits.

Carry evidence between stages

Discovery produces a structured facts artifact. A writer and an independent verifier use that grounding before the voice stage receives the resulting pitch. The contracts make the provenance of a statement inspectable.

The boundary of the prototype

The microphone and speaker stand in for a call. Self-authored policy checks and an opt-out store are engineering controls, not legal certification, and a latency target is not a measured result.

The stack

  • Python
  • asyncio
  • Pydantic
  • SQLite
  • faster-whisper
  • Ollama
  • Piper TTS