# Voice Agents: our platform for AI phone agents

> Voice Agents is Mirai Minds' own platform for building and running AI phone agents. Teams create assistants, run inbound lines and outbound campaigns, hand live calls to a person and get structured data from every call. Each assistant runs on our Pipecat and LiveKit pipeline or on a hosted runtime such as Vapi, with Plivo or Twilio numbers.

Client: Mirai Minds (Voice AI platform (our own product)) · Status: production · Year: 2025–2026 · Written by Sneh Mehta

## Key facts

- **Voice runtime:** Our Pipecat and LiveKit pipeline, or a hosted runtime such as Vapi
- **Speech:** Deepgram and Sarvam recognition; Cartesia and Rime voices
- **Numbers:** Plivo, Twilio and Indian DID numbers
- **Handoff:** First available person joins the live call; 60 s timeout
- **Integrations:** Shopify app, Google Calendar, WhatsApp, Klaviyo, LimeChat
- **After each call:** Answered, engaged, callback time, meeting booked, conflict moment


## The problem

Every voice project we took on started with the same plumbing: phone numbers, a speech pipeline, campaigns, call logs, handoff, billing. Clients also wanted to try a voice agent on real calls before committing to a custom build. Building that plumbing once, and well, was cheaper than rebuilding it for each client.

## What we built

- **Assistants and campaigns.** Teams create assistants with prompts, variants, tools and a knowledge base, then run inbound lines or outbound campaigns from a CSV, with limits on concurrent calls and a scheduler.
- **A choice of runtime per assistant.** Our own pipeline on Pipecat and LiveKit, or a hosted runtime such as Vapi. Speech recognition comes from Deepgram or Sarvam, voices from Cartesia or Rime, and numbers from Plivo, Twilio or Indian carriers.
- **Live handoff.** When an assistant asks for a person, the request appears on the workspace's dashboard; the first person to accept joins the same LiveKit room. If nobody accepts within 60 seconds, the assistant says so and offers a callback.
- **Data after every call.** A model reads each recording and fills structured fields: whether a person answered, whether they engaged, whether a callback was requested and for when, whether a meeting was booked, and the exact words of any conflict. A WhatsApp follow-up goes out when the assistant promised to send something.
- **Integrations.** An embedded Shopify app, Google Calendar, WhatsApp, Klaviyo and LimeChat, plus MCP and API-request tools for anything else.
- **Workspaces and billing.** Organizations, workspaces and roles keep each client's data apart, and usage runs on credits.

## How it works in production

The platform runs at voice-agents.miraiminds.co and carries our client work too: [iKoMatch](/work/ikomatch-ai-fundraising-assistant) uses it for onboarding calls, and an [ethnic-wear brand](/work/ecommerce-visual-search-and-cart-recovery) for cart-recovery calls. Live call status streams to the dashboard over Socket.IO. Staging and production each deploy from a tagged, versioned release, so what runs can always be traced to a version. The approach is described under [voice AI agents](/services/voice-ai-agents).

## What we'd change

- **Keep the judge on the production model.** Our optimizer's judge runs on the same model as live calls. When the two drift apart, prompts that score well offline behave differently on the phone, so a model change on one side has to be made on both.
- **Put one interface in front of every runtime earlier.** Supporting hosted runtimes and our own pipeline per assistant is useful, but each runtime arrived with its own code paths. A single runtime interface from the start would have kept those differences in one place.

## Stack

- **Voice:** Pipecat, LiveKit, Deepgram, Sarvam, Cartesia, Rime, Vapi
- **Telephony:** Plivo, Twilio
- **Backend:** Node.js, TypeScript, Express, MongoDB, Redis, BullMQ, Socket.IO, Typesense
- **Frontend:** React 19, Redux Toolkit, Tailwind CSS 4, Vite
- **Optimization:** GEPA prompt optimizer, LLM judge
- **Billing:** Dodo Payments

## Frequently asked questions

### Can we run a voice agent without a custom build?

Yes. Voice Agents is a hosted product: a workspace, an assistant and a phone number are enough to run calls from the dashboard. When a use case needs custom tools, languages or hosting, we build on the same platform, so the work doesn't start from zero.

### How does the Shopify app work?

The embedded Shopify app connects a store with permission to read customers, orders and products and to create discount codes. Voice agents can then check orders, answer product questions and offer a time-limited discount on a recovery call.

### How are prompts improved over time?

From the platform's own call history. An optimizer built on GEPA replays an assistant's past calls and scores each candidate prompt 60% on matching the real outcome and 40% on an LLM judge. The judge runs on the same model as production, GPT-4o-mini, so scores reflect how the live agent behaves.


---

Canonical: https://www.miraiminds.co/work/voice-agents-platform
Last updated: 2026-09-23
Publisher: Mirai Minds LLP, 906 Sarthana Business Hub, Nana Varachha, Surat, Gujarat 395013, India. hello@miraiminds.co
