Build vs buy: what an in-app agent really costs to own
Wiring a speech API to a model takes an afternoon. The nine workstreams that turn it into something you can hand to a user do not have an end date.
About this article
For most product teams, building an in-app agent in-house is a false economy. The visible work, speech in and a model call and text out, is the small part. Tool schemas, a confirm step before any write, a widget for every answer shape, latency work and a rota for 2am are the rest, and unlike the demo they never finish.
Any competent engineer can point a speech API at a model and have something talking back before the end of the day. That prototype is what produces the estimate of a few weeks, and the estimate is honest about the thing it measured. It measured the prototype.
The prototype does not handle a noisy room, a half-finished sentence, a user who interrupts, or a network blip in the middle of a turn. It does not know which of your endpoints it may call. It does not ask before it moves money. It has no opinion about what should appear on screen when the answer is a list of twelve transactions rather than a sentence. Each of those is separate work, and most of it only reveals itself once real people are using the thing.
The nine workstreams, and who owns each#
Duration estimates for these are worth treating carefully. The version of this post that this one replaces carried a six-month total, and that figure traced to nothing. What follows is our own engineering experience of having built each row, offered as experience rather than as a survey: speech selection and fallback runs into weeks, the agent loop is fast to stand up and slow to make reliable, the widget layer grows one component at a time for as long as the product does, and the last two rows have no end date at all.
Naming and shaping the tools is the row that stays yours in both columns. Anthropic, writing about their own agents, put the ratio plainly: “We actually spent more time optimizing our tools than the overall prompt.” Their later guidance on tool design (11 September 2025) adds the correction most teams need early: “More tools don’t always lead to better outcomes.”
Where the seconds actually go#
The instinct is that a slow assistant means slow code. In our own measurements against a live merchant tenant, almost none of a turn is our code. It is round trips to services outside the process.
The gap between those two bars is the whole of the latency engineering. A warm connection pool keeps the tool server’s session open instead of re-negotiating it, and a primed prompt cache means the model is not re-reading the system prompt from scratch. In our case a cache hit is the difference between a 6.7 second turn and a 2.5 second one.

We have seen the same cold connect run past twenty seconds when the upstream tool server is having a bad day. That is worth stating plainly because it decides the architecture. When the slow part is not yours, speeding up your part buys nothing. The fix is holding connections open, caching what you are allowed to cache, and never being the first request of the day.
If you build this, you are not buying an agent. You are taking on the job of keeping four external services warm, indefinitely.
The boundary you would be signing up to own#
Two things stay yours in both worlds. Your app is yours. Your API is yours, whether you expose it through the Model Context Protocol or an equivalent. What changes hands is the runtime in the middle and the three vendor relationships hanging off it. That is the thing to price, and it is easy to underprice because from the outside it looks like glue code.
The part nobody budgets: anything that writes#
The widget layer is the row people underestimate most, because it grows with the product rather than shipping once. Shipping UI without a release is the argument for moving that decision to the server instead of the binary.
A read-only assistant is a demo with better error handling. The moment it can settle a balance, send a payment link or change a delivery address, the shape of the problem changes. A transcript is not consent. The model has been wrong before and will be wrong again, and the cost of it being wrong is now measured in the user’s money.
The confirm step is a protocol rather than a dialog box. The turn that selects a write tool has to stop short of running it and return a description of what it would do. The client has to render that description as something a person can check. The approval has to be tiered, so a payment link is a tap and settling a balance is a biometric prompt. And the agent has to be stopped from naming the approval method in what it says out loud, because describing the security mechanism aloud teaches an attacker its shape.
The MCP specification makes the underlying reason explicit in its trust and safety section: “Tools represent arbitrary code execution and must be treated with appropriate caution”, and tool descriptions “should be considered untrusted, unless obtained from a trusted server”. Tiering approval by risk works through which actions earn which gate.
On the money#
Published cost estimates for this category exist and all of them come from companies who would like to build it for you. Biz4Group, an AI development agency, puts the range at “$20,000 to $50,000” for an MVP, “$50,000 to $100,000” for a mid-tier build and “$100,000 to $200,000” for enterprise scope, in a post updated 17 July 2026. Read it as a vendor’s price list rather than as an industry benchmark, because that is what it is.
Two of the other three inputs are checkable without anyone’s help. Per-minute speech pricing is published by the speech vendors themselves. A loaded engineer rate for your own market is a number your finance team already has.
The fourth input decides the answer and nobody publishes it: the maintenance tail. It depends on how many vendors you are keeping warm and how tolerant your users are of a bad afternoon, and it is the line that turns a one-off project cost into a permanent headcount. The ROI side of this works through what you can and cannot put a number on.
When building is the right call#
Buying is not always correct. Build in-house when at least one of these is true, and be honest about whether you are reaching for it.
The agent is the product. If you sell the assistant, or the speech layer is your differentiator, this stack is your moat and you have to own it.
You have a funded team that wants this job. Not an engineer who will look at it. A staffed group with a mandate to run it for years.
A requirement rules every vendor out. On-device inference for a regulated environment, a proprietary acoustic model trained on data you cannot share, or a latency floor below what any hosted pipeline reaches.
Volume changes the arithmetic. At sustained high volume, owning the pipeline can beat per-minute pricing. This is a late optimisation, after you have already paid the build cost, so it is not a reason to start.

The hybrid nobody writes down#
Most teams that end up building did not decide to. They adopted a runtime for the demo, hit one requirement it did not cover, wrote around it, and then wrote around the next one. Two quarters later they own a fork of somebody else’s architecture with none of the support.
The way to avoid that is to name the requirement that would force a build before you start, and check it against the vendor list on day one rather than in month four. If the requirement is real and unmet, build deliberately. If it turns out to be a preference, adopt and keep the engineers on your own product.
Three questions, answered honestly#
Is the agent the core of what we sell, or a feature on a product we already sell? Do we have a staffed team ready to own speech, tools, latency, security and on-call for years? Is there a requirement that rules every vendor out?
Feature, no, and no means buy, and it means the engineers stay on the work only you can do. Anything else means build with the ownership diagram pinned to the wall, so that when the maintenance tail arrives nobody is surprised by it.
Two things to read next. The full stack laid out end to end covers the five layers you would be building, and the runtime comparison covers who you would be buying from, including where they beat us.
Sources#
- Anthropic, Building effective agents, 19 December 2024. Accessed 12 September 2026.
- Anthropic, Writing tools for agents, 11 September 2025. Accessed 12 September 2026.
- Model Context Protocol, Specification, revision 2026-07-28. Accessed 12 September 2026.
- Biz4Group, Cost to develop an AI voice agent, updated 17 July 2026. A vendor marketing page, cited as such. Accessed 12 September 2026.
Next
Plans, limits and what ships on each.
See what buying costsThe rest of Business
Open the clusterBuild versus buy, what an agent changes about activation and support load, and the measurements that tell you before the quarter ends.
- How to add an AI agent to a mobile app: the complete guideWhat an in-app agent is made of, what each of its five pieces costs to own, and the honest path from a first spoken turn to something you can hand to users.12 min
- What typing on a phone actually costs your appPeople type about 36 words a minute on a phone. Here is what the research measures, what it does not, and why the fix is removing the form.8 min
- What a checkout screen costs, and what the research measuresThe checkout abandonment numbers everyone quotes, what they were actually measured on, and which reasons a redesign can move.8 min
- Using an agent to get a user to first valueOnboarding leaks where people have to type. An agent can collapse setup into one request, and there are four kinds of friction it genuinely cannot touch.8 min
- The metrics that tell you an in-app agent worksSeven numbers worth tracking, what each one hides, and why containment is the one that looks best while telling you least about the feature.9 min
- Conversational commerce numbers that survive checkingWe opened every source behind the statistics people quote about voice and AI shopping. Here is what held up, what did not, and what nobody has measured.10 min
- The business case for an in-app agent, and its missing numberHow to build an ROI model for an in-app agent when the one input that decides the answer has no public benchmark, and which of the levers you can honestly measure.8 min
- Deflection is the wrong number: measure whether the task finishedA deflection rate scores a user who gave up the same as one who was helped. What Gartner's own self-service figures show, and what to count instead.9 min
- Agents in a travel app: rebooking is the feature worth buildingBooking is already a form. The task an agent is uniquely good at is rebooking under disruption, and it needs four read tools before it can answer anything.8 min
- Agents in a logistics app: the driver's hands are the constraintHands-free is a legal requirement in a cab, not a convenience. What a logistics agent should do, how proof of delivery works spoken, and the offline case.8 min
- An agent in a healthcare app: booking, refills, and the stop lineThe three patient-facing tasks an in-app agent does well, the escalation line that belongs in code, and the compliance question to settle before any of it.9 min
- Agent runtimes for mobile apps: an honest comparison (2026)OpenAI Realtime, LiveKit, ElevenLabs, Vapi and Retell compared on what a mobile team actually chooses between: layer coverage, client SDKs and the write path.8 min
- Where in-app agents are being adopted fastestAdoption is running ahead of the English-speaking world in several large markets. What that means for a team shipping an agent outside its home country.10 min
- What the first week of real assistant traffic teaches youReal users ask for things no test plan contains. Three questions only live traffic answers, and the metric that looks good while telling you nothing.10 min
Elsewhere on the map
- What an in-app AI agent actually is, and what it can touchThree different things get called an AI agent in a mobile app. Here is the one that lives inside your product and acts through your own backend.Agent basics11 min
- When not to put an AI agent in your appFour situations where an in-app agent loses to the interface you already have, and the test to run before you commit a quarter to building one.Agent basics10 min
- Agent or chatbot: telling the two apart before you buyA support bot answers questions. An in-app agent finishes the task. Five questions that separate them in any vendor demo, and where a chatbot still wins.Agent basics10 min
