Getting started

Build, Buy or Wait: Choosing Your AI Approach

Build versus buy is really six decisions, one per layer of the stack. Here is where to draw the line, what waiting actually costs, and how to score a vendor on the way out.

On this page
  1. The question is not build or buy, it is which layer you own
  2. The Ownership Line
  3. Layer by layer, with the tell that you crossed the line
  4. Build and buy fail in different directions
  5. Wait is a real option, and it has exactly three conditions
  6. The three-year arithmetic, including the parts left out of the pitch
  7. Score every vendor on the way out, not on the way in
  8. A two-week bake-off instead of a six-month debate
  9. Definitions for the procurement conversation

The question is not build or buy, it is which layer you own

The short answer

An AI system is a stack of six layers and you make a separate decision at each one. Rent the layers that are commodity and getting cheaper, which is the model, the runtime and the vector store. Own the layer that encodes your judgement: your evaluation harness, your labelled cases and your written process rules. That layer is the only part a vendor cannot rebuild for a competitor, and the only part that gets more valuable each month.

Teams that debate build against buy as a single choice tend to get the split exactly backwards. They build the chat interface, which is a commodity with a hundred adequate implementations, and they rent the evaluation, which means the vendor decides what good looks like for their business. Two years later they own a user interface anyone could have bought and none of the labelled data that would let them move.

There is a simple test for every layer. Ask what it would cost to move off it in twelve months, in weeks of engineering and in data you could not take with you. Where that answer is small, rent without much agonising. Where it is large, either own the layer or negotiate the exit before you sign, because the moment to secure your data export is while a salesperson still wants your signature.

  • Rent the modelThe fastest-moving and least differentiating layer. Committing to one model as an architectural decision is a bet with poor odds.
  • Own the evalsGolden cases, labels and written rules survive a vendor change and a model change. Nothing else in the stack does.
  • Exit costThe decision rule for every layer: weeks of work to replace it, plus the data you would leave behind.
  • Waiting is not freeIt has a monthly cost you can calculate and a data cost you cannot recover, because the labelled examples you did not collect this year do not exist next year.

The Ownership Line

Draw one line through the stack. Below it you rent and you accept somebody else's roadmap. Above it you own, you version, and you carry the maintenance. The line sits in the same place for almost every organisation, which is directly under the layer where your business judgement lives.

Framework

The Ownership Line

Six layers, bottom to top. Decide each one separately, and notice which of them you are currently deciding by accident.

01
Model: rent, and keep it swappable

Route model calls through one internal interface so the model identifier is configuration rather than architecture. Fine-tuning is an optimisation to reach for once prompting and retrieval have genuinely run out of room, and it trades flexibility for a snapshot you now maintain. The trade-off is worked through in when fine-tuning beats prompting.

02
Runtime and orchestration: rent until it stops fitting

Visual automation platforms are excellent for straightforward triggers and glue. The tell that you have outgrown one is unmistakable: you are building a state machine inside a node, your code nodes have grown past glue into logic, and you cannot review a change as a diff. That comparison is in n8n, Make or custom code.

03
Retrieval: rent the index, own the decisions

Vector stores are commodity infrastructure and switching one is a few days of work. What is not commodity is your chunking strategy, your metadata schema, the filters you apply before search, and the retrieval evaluation that tells you whether the right passage came back at all. Rent the storage, keep those four in your repository.

04
Domain logic and evaluation: own, without exception

This is where the line sits. Your golden cases, your grading rubric, your written rules for the disputed decisions and your prompt corpus are the compounding asset. They took expert hours to produce, they transfer to any model, and they are what turns a vendor swap from a rebuild into a reconfiguration. Never let them live only inside somebody else's console.

05
Interface: rent inside, own at the edge

For internal users, a bought interface is almost always right and the argument for building one is usually aesthetic. When the interaction is the product and a customer sees it, the interface is differentiation and belongs to you. The awkward middle is an internal tool that later faces customers, so ask that question at design time rather than discovering it during a rebuild.

06
Integrations: rent the connector, own the contract

Use the vendor's connector for a system you both understand. Own the contract around it: the schema of what you send and receive, the idempotency key, the retry and backoff policy, and the dead letter path. Connectors get deprecated and rewritten. A written contract with tests against it means the replacement is a day of work rather than an incident.

Layer by layer, with the tell that you crossed the line

LayerDefaultWhyThe tell you have outgrown the default
ModelRentMoves faster than your release cycle and differentiates nothingLatency, residency or cost pressure that a hosted option cannot meet
Runtime and orchestrationRentTriggers, queues and glue are solved problemsState machines inside nodes, and changes you cannot review as a diff
Retrieval indexRentStorage and search are commodity, swappable in daysScale or filtering needs the hosted service will not express
Chunking, metadata, retrieval evalsOwnThese decisions set answer quality more than the model choice doesYou are already tuning them and cannot version what you tuned
Domain logic and evaluationOwnExpert judgement, expensive to recreate, portable across vendorsNever rent this one. If it is currently rented, extract it first
InterfaceRent internallyInternal users want it to work, not to be yoursA customer sees it, or the interaction is the differentiator
Integration connectorsRentMaintained against APIs that change without telling youThe connector hides the semantics you need to control
Seven decisions, not one. Most stacks have at least one accidental answer in this table.

Build and buy fail in different directions

Compare them on how each one goes wrong, not on the brochure. Both options work. They fail differently, and the failure you can absorb is the one to choose.

BuildBuy
Time to first valueWeeks, and longer if the integration is newDays for the demo, weeks for the data mapping nobody mentions
Where cost landsMostly upfront, then a maintenance share every yearEvery month forever, usually rising with headcount or usage
How it failsThe engineer who built it leaves and nobody else understands the promptsPrice, roadmap or ownership changes and the feature you depend on moves
What you controlLatency, residency, prompts, the eval bar, the release scheduleThe configuration options they chose to expose
After two years you ownA codebase, a labelled dataset and a team that understands the domainA configuration, and an export in whatever format they support
Underestimated workEvaluation, monitoring, and the second and third integrationData mapping, admin, change management, and access sprawl

The pattern worth copying is a hybrid that is deliberate rather than accidental. Buy the fastest path to the first working version, and on day one keep your golden cases, your labels and your written rules in your own repository in an open format. If the bought tool holds, you have saved months. If it does not, you keep the expensive part and replace the cheap part.

Wait is a real option, and it has exactly three conditions

Waiting is legitimate when all three of these hold at once. If any one fails, waiting is procrastination with a business case attached to it.

  1. The blocker is capability, not integration. Your use case fails today because the technology cannot do it yet, not because your data is unreachable or your approval chain is slow. Integration blockers do not dissolve on their own, so waiting on one wastes the whole period.
  2. The workaround cost is bounded and known. You can state what not doing it costs per month. An unbounded or unmeasured cost means you are not choosing to wait, you are avoiding a decision, and the difference shows up in the budget conversation twelve months later.
  3. You are not forgoing a data advantage. If doing the work now would produce labelled examples, recorded outcomes or process rules that compound, waiting has a hidden price. The examples you do not collect this year do not appear retroactively next year.
Waiting well is an active project

If you decide to wait, do the parts that do not depend on the capability arriving. Clean the data. Instrument the outcome you would later grade against. Build the golden set with expert time while those experts are available. Request the scoped service account, because that queue is long and indifferent to your timeline. Then set a review date and name the specific signal that ends the wait, so the decision gets revisited by a calendar rather than by a conference talk.

The three-year arithmetic, including the parts left out of the pitch

Run this with your own rates and your own quoted prices. Two lines matter more than the totals: the maintenance share, which is real and which build estimates habitually omit, and the crossover month, which tells you how long the bought option stays cheaper.

Three-year comparison and crossover point

All prices are yours to supply. Vendor pricing, model pricing and day rates change constantly, so use the numbers on your own quotes and your own payroll rather than any figure quoted in an article. Maintenance is expressed as a percentage of the original build cost per year, which covers dependency upgrades, model changes, eval upkeep and the fixes that arrive with real traffic.

0Build cost upfront
0Built option over three years
0Bought option over three years
0Months until the built option is cheaper

Two things this arithmetic cannot express, and you should say both out loud in the meeting. The bought option starts producing value in a fortnight while the built one produces nothing for two months, and that gap has a real value that belongs on the buy side. Against it, the built option accumulates a labelled dataset and a set of written rules that the bought option keeps in its own schema. Put a number on the second by asking what you would pay to already hold your golden set on the morning your vendor changes its pricing. A fuller version of this model, including the people cost of running a bought tool, is in total cost of ownership for an AI system.

Score every vendor on the way out, not on the way in

Vendor evaluations mostly test the demo, which every serious vendor passes. The questions that predict regret are all about leaving. Run this during the trial, while you still have a salesperson motivated to get you answers, and actually perform the export rather than accepting that one exists.

vendor-exit-test.ymlyaml
# Score BEFORE signing. Every question here is about leaving, because the
# joining experience is what the vendor optimised and it tells you little.

vendor: <name>
layer: model | orchestration | retrieval | application | connector
reviewed_by: <name>
date: YYYY-MM-DD

data_out:
  export_raw_inputs: yes | no
  export_outputs_with_version_stamps: yes | no
  export_labels_and_human_corrections: yes | no   # the usual no
  format: open | proprietary
  export_actually_performed_during_trial: yes | no

logic_and_prompts:
  prompts_visible_and_exportable: yes | no
  business_rules_live_where: our repository | their console
  can_a_change_be_reviewed_as_a_diff: yes | no

evaluation:
  can_we_run_our_own_golden_set_against_it: yes | no
  changelog_for_model_or_prompt_changes: yes | no
  notice_before_an_underlying_model_changes_days: 0

access_and_audit:
  scoped_service_accounts: yes | no
  audit_log_export: yes | no
  data_residency_options: [list them]
  subprocessors_published: yes | no

commercial:
  price_metric: seat | run | token | outcome
  quote_at_2x_volume: get it in writing now
  price_change_notice_days: 0
  termination_notice_days: 0

switching_cost:
  weeks_to_replace: 0
  data_we_could_not_take: describe it honestly
  integrations_to_rebuild: 0

verdict: rent | rent with a written exit plan | do not rent this layer
The label question is the one that matters most

Every correction a human makes inside a bought tool is a labelled training example produced by your experts on your work. Many products treat those corrections as platform data and offer no export. If the answer to that line is no, you are renting the one layer the Ownership Line says to own, and the price of that arrangement is invisible until the day you try to move. Either negotiate the export into the contract or keep a parallel record of corrections in your own store from the first week.

A two-week bake-off instead of a six-month debate

Most build against buy arguments are unresolvable in a meeting room and trivially resolvable with two weeks of evidence. Run both options against the same cases and let the numbers arbitrate.

  1. Fix the golden set first, before either option is touched1 day

    Take fifty real cases with agreed correct answers, stratified across case types rather than drawn at random. This set belongs to you permanently and is the reason the bake-off produces a decision instead of two demos and a preference.

  2. Configure the bought option to its realistic best3 days

    Use the trial, ask their solutions engineer for help, and record every configuration you make. You are measuring the product as a competent buyer would run it, not as an unhelped first-time user would. Note anything that needed their intervention, because that is future dependency.

  3. Build the thinnest possible version yourself4 days

    One model call, retrieval if the task needs it, no interface beyond a script, no queue. Four days is enough to learn whether the hard part is the model or your data, which is the single most useful thing the fortnight can teach you.

  4. Score both against the same set, with the same scorer1 day

    Report per case type rather than one aggregate. The interesting outcome is not which option scores higher overall, it is that they usually fail on different case types, which tells you where the remaining work sits either way.

  5. Write the decision as a layer table, not a verdict1 day

    The output is a row per layer with rent or own beside it, an exit cost for every rented layer, and a review date. That document survives a change of vendor and a change of staff, which a single build or buy verdict does not.

When the decision lands on building the layer above the line, that is the work described under custom LLM applications: software with a model inside it, wired into your systems, with the evaluation harness as a deliverable rather than an afterthought.

Definitions for the procurement conversation

Definitions
Exit cost
What it would take to stop using a component, measured in weeks of engineering to replace it plus the data you could not take with you. It is the only vendor metric that reliably predicts regret, and it should be estimated before signing rather than discovered during a migration.
Lock-in
Not the impossibility of leaving, but the cost of leaving. A vendor with an open export and visible prompts can be left in a fortnight. One that holds your labelled corrections in a schema it will not export has locked in the expensive layer, whatever the contract says about termination.
Commodity layer
A part of the stack where several providers are close substitutes and switching takes days. Model hosting, vector storage and queueing are commodity layers. Building your own version of one is defensible only when a measured constraint such as latency, cost or data residency cannot be met by any of them.
Evaluation harness
The golden cases, the scoring functions and the runner that grades any version of a system against the same bar. It is the asset that makes vendors and models interchangeable, and it is the first thing to build regardless of which side of the build or buy decision you end up on.

Questions readers ask next

Is it cheaper to build or to buy an AI system?
Buying is cheaper early and building is cheaper late, with the crossover usually landing somewhere between the first and third year depending on seat count and maintenance. Run the calculator above with your own quotes rather than trusting a rule of thumb. The decision rarely turns on the totals anyway, because time to first value and ownership of your labelled data both matter more than the difference in the spreadsheet.
We already bought a tool. Was that the wrong call?
Probably not, and the useful question now is which layers you are renting without meaning to. Check whether you can export your inputs, outputs, prompts and human corrections in an open format, and whether you can run your own golden set against the product. If the answer to the corrections question is no, start keeping a parallel record of them immediately, because that record is the part with lasting value.
When does fine-tuning make sense in this decision?
Later than most vendors suggest. Fine-tuning is worth considering once prompting, retrieval and better tool design have genuinely stopped improving results, and when you have a stable dataset of high quality examples. It trades flexibility for a snapshot you now own and maintain, and it makes model swaps expensive again, which is a real cost in a layer that keeps moving.
How do we stop a bought tool from becoming five bought tools?
Keep one register of which layer each purchase occupies and who owns it. Sprawl happens because separate teams each buy a whole vertical stack for one workflow, so the same model, retrieval and orchestration layers get paid for repeatedly. A layer register makes the duplication visible at renewal, which is the only moment anyone has an incentive to consolidate.
What if the vendor says export is on the roadmap?
Treat a roadmap answer as a no and price it accordingly. Roadmaps move, and the feature you need is rarely the one that survives a reprioritisation. If the capability matters to your exit position, ask for it as a contractual commitment with a date, or keep your own parallel record of the data in question from the start. Either is cheap now and expensive later.
Cite this

ChatGPTalker. "Build, Buy or Wait: How to Choose Your AI Approach." chatgptalker.com, 2026-08-26. https://chatgptalker.com/guides/build-buy-or-wait-ai/

Rather have it built than read about it?

Send the process you want automated. You get a scoped plan back, with the build shape, the stack and a realistic timeline.

Start a project