# Ship Voice AI in Weeks, Not 18 Months

Building a voice AI stack from scratch takes six vendors, three engineers, and a year of glue code before your first production call.

18+ months to production (DIY)

4–6 weeks on SignalWire

6 vendors to manage (DIY)

$0.16 per minute, AI processing

## What You Are Actually Building When You Build It Yourself

### Vendor evaluation takes months
STT, TTS, LLM, and telephony providers each require proof-of-concept testing. Two to three months pass before you write any integration code.

### Distributed state is the hard problem
Race conditions, zombie calls, double updates. Conversation context is scattered across independent systems with no shared state model.

### Error recovery across vendors
When one vendor in a five-vendor chain fails, your code handles the fallback. Each failure mode requires its own mitigation path.

### Compliance surface multiplies
PCI scope reduction, data isolation, and audit logging must happen across every vendor independently. One audit surface becomes five.

### Observability requires correlation
Four or five dashboards, each showing a partial picture. Building unified monitoring and correlated logs is a project unto itself.

## Build a Voice AI Agent

```python
from signalwire import AgentBase
from signalwire.core.function_result import FunctionResult

class SupportAgent(AgentBase):
    def __init__(self):
        super().__init__(name="Support Agent", route="/support")
        self.prompt_add_section("Instructions",
                               body="You are a customer support agent. 
                               \"Greet the caller and resolve their issue.\"")
        self.add_language("English", "en-US", "rime.spore:mistv2")

@AgentBase.tool(name="check_order")
    def check_order(self, order_id: str):
        """Check the status of a customer order.
        Args:
            order_id: The order ID to look up
        """
        return FunctionResult(f"Order {order_id}: shipped, ETA April 2nd")

agent = SupportAgent()
agent.run()
```

## DIY Stack vs. One Platform

### DIY (6 Vendors)
- Separate telephony, STT, TTS, and LLM providers, each with its own SDK
- Your glue code manages state across all four services
- Each vendor adds a separate queue, invoice, and escalation path
- Compliance and observability must be rebuilt across every vendor
- 16 to 23 months before a production call

### SignalWire (1 Platform)
- Telephony, STT, TTS, and LLM in one platform
- AI runs inside the media stack, not outside it
- 800–1200ms typical response latency
- One vendor, one invoice, one escalation path
- Production calls in four to six weeks
- State management is platform-native

## From Install to Production

### Day 1: Install and build your first agent
Install signalwire-agents, define your agent class, add a prompt, and make your first phone call to a working AI agent.

### Weeks 1–2: Connect your business logic
Add tool functions that call your backend: order lookups, appointment scheduling, account verification, and the tools that differentiate your product.

### Weeks 2–3: Structure conversation flow
Define steps with scoped prompts and scoped tools. Each step handles one phase of the conversation with focused context.

### Weeks 4–6: Go live
Deploy your agent as a standard HTTP microservice. Provision phone numbers, route calls, and move into production.

### Weeks 3–4: Test and iterate
Test with real calls. Iterate on prompts and flows. Use the sandbox environment for rapid development cycles.

## Sigmond Runs on SignalWire
A voice and video AI agent built on the SignalWire SDK, wired to a live knowledge base, able to see what you show him. Build the same thing on voice, phone, WhatsApp, or SIP, or an entire white-label platform with SignalWire as the network underneath.

## Call recording
This call is recorded. Audio and transcripts are used to improve our AI and customer support experience, and aren't shared or sold to third parties.

## Ship your first agent this week.
Build on infrastructure designed for voice AI, not assembled from six vendors.
