Skip to content
Mirai Minds

In-houseVoice AI agentsWhatsApp AI agents

Voice Agents: our platform for AI phone agents

By Sneh MehtaPublished

In production

In short

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.

Visit voice-agents.miraiminds.co

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 uses it for onboarding calls, and an ethnic-wear brand 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.

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.

What it runs on

Voice
PipecatLiveKitDeepgramSarvamCartesiaRimeVapi
Telephony
PlivoTwilio
Backend
Node.jsTypeScriptExpressMongoDBRedisBullMQSocket.IOTypesense
Frontend
React 19Redux ToolkitTailwind CSS 4Vite
Optimization
GEPA prompt optimizerLLM judge
Billing
Dodo Payments

Asked on the first call

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.

Have a system in mind? Let's scope it.

A 30-minute call with an engineer who has shipped this before. You leave with a plan, a rough timeline and what it would take — whether or not we build it.