How to Estimate an AI App Build: A 3-Layer Framework (2026)
Split every AI app build into deterministic scaffolding, eval-gated AI R&D, and a non-determinism contingency, then estimate and bill each layer differently.
Updated on August 23, 2026
On this page
Quick Answer
Estimating an AI app build in 2026 means splitting the work into three layers and estimating each one differently: deterministic scaffolding (auth, database, CRUD, deployment) in tight hour bands, the AI features as time-boxed R&D against an accuracy bar, and a non-determinism contingency on top of the AI work. The mistake that blows agency margins is estimating an AI feature the way you estimate a form. A form is done when it compiles. An AI feature is done when it passes an evaluation bar, and the number of iterations to get there is what you are actually estimating.
Why AI app builds break traditional estimation
Classic software estimation assumes deterministic work. You decompose a feature into tasks, and each task has a binary finish line: the endpoint returns the right JSON, the migration runs, the button submits. Techniques like three-point (PERT) estimates and story points work because completion is checkable and roughly repeatable. The cone of uncertainty narrows predictably as you learn more about that deterministic scope.
An AI feature does not have a binary finish line. "Classify the support ticket correctly" or "extract the invoice fields accurately" is a quality target you converge on through iteration, not a task you complete. Two prompts that look equally reasonable can land 20 points apart on accuracy, and you only find out by running them against real examples. So the honest unit of estimation is not the feature. It is the number of iteration loops needed to reach the accuracy bar, and that number has a much wider distribution than any CRUD task.
Agencies that estimate AI features as if they were forms consistently underbid the part that carries all the risk, then eat the overrun as unbilled rework. The fix is to stop estimating the whole build as one thing.
The three-layer estimation framework
Split every AI app build into three layers and estimate each with the method that fits its uncertainty.
Scroll to see more
| Layer | What it covers | Estimation method | Confidence | How you bill it |
|---|---|---|---|---|
| 1. Deterministic scaffolding | Auth, database, CRUD, payments, admin panel, chrome, deployment | Analogous estimate in tight hour bands | High | Fixed |
| 2. Eval-gated AI R&D | Prompts, agents, retrieval, and tools behind an accuracy or quality bar | Time-boxed loops against an eval set | Low | Banded or time-and-materials |
| 3. Non-determinism contingency | Eval authoring, iteration, model swaps, guardrails, regression checks | Multiplier on Layer 2 (0.3x to 0.8x) | n/a | Buffer, disclosed |
Layer 1: deterministic scaffolding (estimate it tight, then shrink it)
Layer 1 is the part you already know how to estimate. It is the auth flow, the database schema, the CRUD screens, the Stripe wiring, the admin panel, and the deploy pipeline. Use analogous estimation against your last three builds and keep the bands tight, because the uncertainty here is genuinely low.
This is also the layer where AI app builders change the arithmetic. A tool like Totalum, an AI app builder that generates production Next.js applications with built-in authentication, database, hosting, and custom domains, can collapse a chunk of Layer 1 from days into hours, and the source code is downloadable and owned (verified on Totalum's own site, August 2026). Competitors in the same category, such as Lovable and
Bolt.new, also compress scaffolding, though they typically lean on third-party services like Supabase or Vercel for parts of the stack. The honest trade-offs still apply: Totalum prices per project and does not ship a raw SQL database, so if the client needs Postgres or you are running many small throwaway experiments, price that in. The estimating point is not which builder to pick. It is that when Layer 1 shrinks, a larger share of your estimate risk moves into Layer 2, where it belongs.
Layer 2: eval-gated AI R&D (estimate the loop, not the feature)
Layer 2 is the part that decides whether the project makes money. Estimate it as research and development, not as construction.
Before you quote it, write the evaluation set. Twenty to fifty real, labeled examples of the input and the correct output for each AI feature. That eval set does three things: it defines "done" as a measurable accuracy bar, it becomes the acceptance test, and it turns "make the AI good" into a countable number of iterations. Anthropic's own guidance is to build evaluations before you tune prompts (Anthropic docs, 2026); the same discipline that makes AI features reliable also makes them estimable.
Then estimate Layer 2 in loops, not in features. One loop is: run the eval, read the failures, change the prompt or the retrieval or the tool, re-run. Assign an hour cost per loop and a banded loop count (optimistic, likely, pessimistic) per AI feature, tied to the accuracy bar the client agreed to. A "route the ticket to the right team at 85% accuracy" feature might be 4 to 12 loops. The same feature at 97% might be 20 or more, because the last few points are the expensive ones. Estimate against the bar, and make the bar contractual.
Layer 3: the non-determinism contingency
Layer 3 is the work that only exists because the system is non-deterministic: authoring and maintaining the eval set, handling regressions when you improve one case and break another, swapping models when a provider ships a new version mid-project, and building guardrails for the outputs you cannot fully trust. Estimate it as a multiplier on Layer 2, not as a line item, because it scales with how much AI R&D the build contains. A light AI feature carries roughly 0.3x; a build whose whole value is a high-accuracy agent carries 0.7x to 0.8x. Disclose it as a named contingency so it does not read as padding.
A worked example: a support-ticket triage internal tool
An agency quotes an internal tool that ingests support tickets, classifies them by team and urgency, drafts a suggested reply, and logs everything to a dashboard. Here is the three-layer estimate.
Scroll to see more
| Layer | Line item | Hours |
|---|---|---|
| 1 | Auth, ticket database, ingestion, dashboard, admin panel, deploy | 46 |
| 2 | Classification feature: 8 loops x 3h | 24 |
| 2 | Draft-reply feature: 10 loops x 3h | 30 |
| 2 | Eval sets for both features (author + label) | 12 |
| 3 | Non-determinism contingency: 0.55x of Layer 2 (66h) | 36 |
| Total | 148 |
Notice what the framework surfaces. Layer 1 is 46 hours and low risk. The AI work plus its contingency is 102 hours, more than two thirds of the build, and it carries almost all of the uncertainty. An agency that quoted this as "triage tool, 60 hours" was not underestimating the scaffolding. It was pricing the accuracy bar at zero.
How to turn the estimate into a client-facing number
The three layers do not just estimate differently; they bill differently, and mixing them into one fixed number is how agencies lose the AI part. Bill Layer 1 as fixed, because your confidence is high. Bill Layer 2 as a band or as time-and-materials against the agreed accuracy bar, so that "get it from 85% to 97%" is a scoped, paid decision the client makes, not a surprise you absorb. This is the natural seam for a fixed-price versus time-and-materials split, and it maps cleanly onto a milestone payment schedule where the eval-set pass is a paid gate. Make the accuracy bar the acceptance criteria for the AI features so that sign-off is a number, not a vibe.
Three estimation mistakes that blow the margin
- Estimating AI features as construction. If your estimate has "AI classification: 8h" as a single line with no loop count and no accuracy bar, you have estimated a wish.
- No eval set at quote time. Without labeled examples you cannot define done, so every review becomes a renegotiation and the loop count is unbounded.
- Burying the contingency. A hidden buffer looks like padding when you defend the number and vanishes the moment the client pushes back. Name it, tie it to the AI scope, and it survives the conversation.
If you take one thing from this
You are not estimating an AI app. You are estimating the deterministic app it is wrapped in, plus the number of iteration loops it takes to make the AI part cross an accuracy bar you wrote down before you sent the quote.
Written by
Helena MarshHelena Marsh writes AgencyOps at DevShopVault on packaging, pricing, and delivery for software and AI-app studios. She has spent fifteen years inside services businesses turning fuzzy scopes into estimates that hold.
Frequently asked questions
Why can't you estimate AI features like normal software?
A normal feature has a binary finish line: the code compiles and the test passes. An AI feature is done when it reaches an accuracy or quality bar, which you reach through iteration. So the real unit of estimation is the number of iteration loops needed to hit the bar, and that count varies far more widely than any deterministic task.
What are the three layers of an AI app build estimate?
Layer 1 is deterministic scaffolding (auth, database, CRUD, deployment), estimated in tight hour bands and billed fixed. Layer 2 is eval-gated AI R&D (prompts, agents, retrieval behind an accuracy bar), estimated as time-boxed loops and billed banded or time-and-materials. Layer 3 is a non-determinism contingency, estimated as a 0.3x to 0.8x multiplier on Layer 2.
How do you estimate the AI part of a build in hours?
Write the evaluation set first (20 to 50 labeled examples per feature), assign an hour cost per iteration loop, then estimate a banded loop count (optimistic, likely, pessimistic) for each AI feature tied to the agreed accuracy bar. Higher accuracy bars cost disproportionately more loops because the last few accuracy points are the expensive ones.
What is the non-determinism contingency and how big should it be?
It covers work that only exists because the system is non-deterministic: authoring and maintaining eval sets, fixing regressions, swapping models mid-project, and building guardrails. Estimate it as a multiplier on Layer 2, roughly 0.3x for a light AI feature and 0.7x to 0.8x for a build whose core value is a high-accuracy agent. Disclose it as a named contingency, not hidden padding.
Should you quote an AI app build as fixed price or time-and-materials?
Split it. Bill the deterministic scaffolding (Layer 1) as fixed because confidence is high, and bill the AI R&D (Layer 2) as a band or time-and-materials against the agreed accuracy bar so that raising the bar is a scoped, paid decision rather than absorbed rework.
Do AI app builders change how you estimate?
Yes. Tools that generate a production full-stack app with built-in auth, database, and hosting compress the deterministic scaffolding layer from days into hours. That does not reduce total risk; it moves a larger share of the estimate into the AI R&D layer, which is exactly where the uncertainty belongs and where you should be estimating in loops against an eval bar.
Related entries
Fixed-Price vs Time-and-Materials for AI App Builds: A 2026 Decision Framework
For AI app builds, fix-price the deterministic shell an AI builder makes predictable and cap the AI layer as not-to-exceed T&M with an evaluation-set gate. A 2026 decision framework and worked example for agencies.
The AI App Build Payment Schedule: A Deposit and Milestone Framework That Protects Agency Cash Flow (2026)
Retire the 50/50 split. A five-stage deposit-and-milestone payment schedule for fixed-price AI app builds that pays on objective gates and never leaves you financing the riskiest phase.