Skip to content
Mirai Minds

Case studyCustom LLM and document AIVoice AI agents

Myva.ai and CallPaaS: document chatbots and call-center AI

By Sneh MehtaPublished

Delivered

In short

Mirai Minds built two products for the same founder. CallPaaS, a call-center platform, transcribes calls live with sentiment scores and uses GPT to turn a company's website and answers into Dialogflow virtual agents. Myva.ai lets businesses build and run chatbot campaigns grounded in their own documents, using LangChain, OpenAI and Pinecone. We worked on both from 2023 to 2025.

The problem

One founder, two products. CallPaaS needed call-center software that could listen to calls as they happen and answer routine ones with a virtual agent. Myva.ai needed a platform where a business uploads its documents, builds a chatbot and runs campaigns with it, without an engineer.

What we built

  • CallPaaS (2023). Call audio from Twilio streams into Google Cloud Speech-to-Text for live transcripts, with sentiment scores from the Natural Language API. Virtual agents run on Dialogflow. A GPT-powered builder crawls the company's website and interviews the owner in rounds, producing a revised set of intents, training phrases and responses each time, plus suggestions and questions for the next round. Firebase handles authentication and data, and the client app is built with Vue and Vuetify.
  • Myva.ai (2023–2025). A Nuxt 3 web app, a Node.js API and a Python AI service. Chatbots are grounded in uploaded documents and crawled websites through LangChain, OpenAI and Pinecone. Subscriptions run on Stripe and live chat on Socket.IO, and the AI service is built and deployed on Google Cloud.

How it works in production

Myva.ai's retrieval path is the classic one: split, embed, store, retrieve the closest passages, answer from them. The AI service runs on Google Cloud with Firestore and Cloud Storage. CallPaaS ran on Firebase with Google Cloud's speech and language APIs. Over three years we kept extending both products, adding ingestion sources and billing, and later an MCP client in Myva's AI service so its chatbots could call external tools.

The founder's verdict is on this page. The patterns now live in our voice AI agents and custom LLM work, and in our own Voice Agents platform.

What we'd change

  • Replace intent trees with an agent. Dialogflow intents made sense for phone calls in 2023. An LLM agent with a few guarded tools, tested on real call transcripts, is simpler to build and much easier to change.
  • Test generated agents before owners approve them. The GPT builder produced intents in rounds; running a set of sample calls against each round would have shown the owner what changed, not just what was written.

What it runs on

CallPaaS
TwilioGoogle Cloud Speech-to-TextGoogle Cloud Natural LanguageDialogflow CXOpenAIFirebaseVueVuetify
Myva.ai
LangChainOpenAIPineconeFirestoreCloud StorageCloud BuildNuxt 3Node.jsStripeSocket.IO
Best place to get job done.
Mark BanarovFounder, Myva.ai, CallPaaSThe project →

Asked on the first call

What did GPT do in CallPaaS?

It helped build the virtual agent. GPT read the company's website and the owner's answers, then proposed call categories, intents, training phrases and responses, with suggestions and follow-up questions. Each round refined that model until the owner accepted it, and the result drove the Dialogflow agent.

How do Myva.ai chatbots stay on topic?

They answer from the business's own material. Uploaded documents and crawled pages are split, embedded and stored in Pinecone; each question retrieves the closest passages, and the model answers from those passages through LangChain.

Would you build it the same way today?

Not entirely. In 2023 an intent-based Dialogflow layer was the safe choice for phone calls. Today we'd use an LLM agent with a few guarded tools and test it against real call transcripts, as we do on our own voice platform.

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.