Loading Closeaim experience
Custom software · 2026-06-30
AI-assisted and vibe-coded development cut build cost and time, so the build-vs-buy question is open again. Use a differentiator test, a 3-year TCO model, and a vertical-slice proof to decide before you commit a full build.
The build-vs-buy question reopened because AI-assisted and vibe-coded development cut the cost and time to build, so paths you ruled out as too expensive in 2023 are worth re-pricing.
Decide on the differentiator first: build where the workflow is your edge and you must move faster than any vendor roadmap, buy where the capability is a commodity, and compose where you can buy the platform and build only the thin glue that makes it yours.
Pick on a 3-year total cost of ownership that adds build, run, change, and switching cost, not on the year-one price tag, because a cheap subscription and a cheap build both compound very differently over three years.
Before any full-build commitment we de-risk the single most uncertain path with a vertical slice: one real end-to-end flow on synthetic data, behind quality gates, so the decision is backed by evidence instead of a slide.
A first build-vs-buy scope review can be run on a problem statement, a workflow map, the must-win capability, current tool spend, and integration constraints without admin logins, customer records, payment credentials, or production write access.
For most of the last decade the advice was simple: buy unless you have a compelling reason to build, because building was slow, expensive, and risky. That advice was correct when a custom application meant a long discovery, a large team, and a multi-quarter timeline before anyone saw working software. AI-assisted and vibe-coded development changed the inputs. You can now stand up a working slice of a custom workflow in days, generate a large share of the boilerplate, and iterate on real screens far earlier than before. The build estimate that used to read "too expensive to justify" now reads "worth re-pricing." That is the whole reason the question reopened: not because building is suddenly cheap, but because the floor moved enough that paths you ruled out in 2023 deserve a fresh look in 2026. The trap is to over-correct. A lower build estimate is not a lower total cost, and a fast first screen is not a shipped product. This framework keeps the upside of cheaper building while refusing to confuse a generated prototype with a 3-year commitment.
Before you price anything, sort each capability into one of three buckets. Build what is your differentiator: the workflow, the decision logic, the data model, or the experience that is the actual reason you win and that you must change faster than any vendor would prioritize for you. Buy what is a commodity: the capability that every competitor also has, that no one would ever choose you for, and that a mature vendor already runs better than you could. Compose the middle: buy the platform for the commodity layers and build only the thin layer that makes the combination yours. The mistake we see most often is building the commodity and buying the differentiator. A team pours a year into a custom authentication, billing, or notification stack that a vendor would have run for a fraction of the cost, then rents a generic tool for the one workflow that is supposed to set them apart and quietly accepts that they can never change it. The differentiator test exists to stop exactly that inversion. This test is also what keeps the cheaper-to-build era honest. AI lowering the build cost is not a reason to build the commodity; it is a reason to build the differentiator sooner and prove it earlier.
Decisions that compare a first invoice to a first sprint estimate are decisions made on the wrong number. Compare 3-year total cost of ownership, which has four parts. Build cost is the one-time effort to create the capability, and it is the part AI most reduces. Run cost is hosting, licensing, seats, support, and the people who keep it alive. Change cost is what it takes to evolve the capability as your needs move, which is high for a rented tool you cannot modify and low for software you own. Switching cost is the price of leaving, including data export, re-integration, retraining, and the contractual exit. Buy tends to win year one: lowest build cost, fast time to value, predictable run cost. Over three years the picture shifts. Subscriptions grow with seats and usage, add-on modules appear, change cost stays high because you cannot alter the product, and switching cost quietly rises as more of your operation gets wired into a tool you do not control. Build tends to lose year one and improve over three years: high up-front cost, then no per-seat compounding, no vendor lock-in, and change cost set by your own release cadence rather than a vendor backlog. Write the model down as a simple table with both paths across three years, and force every assumption to be explicit: seat growth, expected change requests, the probability you outgrow the vendor, and the cost of the exit if you do. The point is not false precision. The point is that the expensive parts of software are run, change, and switching, and a build-vs-buy choice made only on build cost ignores the three numbers that actually dominate.
Buy when the capability is a true commodity and speed to value matters more than control. Identity, payments infrastructure, email and messaging delivery, document storage, and standard analytics are layers where a mature vendor has already absorbed years of edge cases, compliance work, and reliability engineering you would otherwise repeat badly. Buying here is not a compromise; it is the correct use of someone else's sunk cost. Buy when the requirement is well understood and stable, when an off-the-shelf product covers the workflow without heavy customization, and when the integration surface is small. Buy when your team is small enough that owning more software would starve the work that actually differentiates you. The honest test is this: if you would never tell a customer "choose us because of how we built this," you should probably buy it. The one caution is configuration creep. A bought tool that you bend with months of custom configuration, custom fields, and brittle automations can quietly cost more than a build and still leave you locked in. If you find yourself fighting the product to make it fit, that is a signal the capability may belong in the compose or build bucket after all.
Build when the capability is the reason customers choose you and when you must change it faster than any vendor roadmap will allow. If your edge is a specific operational workflow, a pricing or matching engine, a regulated approval chain, or an experience no generic product expresses, renting that capability means renting your moat from someone who can raise the price or change the roadmap at will. Build when no product fits without so much customization that you are effectively building anyway, but on top of someone else's constraints. Build when data ownership and the ability to evolve the schema are themselves the advantage. Build when lock-in to a single vendor for your core workflow is an unacceptable strategic risk, because the moment that workflow is your differentiator, the switching cost on a rented version becomes a hostage situation. Building is still the highest-total-cost path and the slowest to first value, and the cheaper-to-build era does not change that ranking. What it changes is the entry price of testing whether the build is feasible. That is exactly what the vertical slice is for, and it is why we never let a full-build budget get approved on a slide instead of working software.
Most real decisions are not pure build or pure buy. The strongest answer is often compose: buy the commodity platforms, then build a thin, owned layer that orchestrates them into something only you have. You buy identity, storage, payments, and messaging, and you build the workflow logic, the data model, and the experience that sit on top and make the combination your product. Composing keeps most of the speed of buying while protecting the differentiator like a build. It is the pattern that benefits most from cheaper AI-assisted development, because the differentiating glue is exactly the kind of focused, custom code that a small team can now produce quickly. Done well, it is the highest-leverage option on the board. Its risk lives in the seams. Composing trades build risk for integration risk: every vendor boundary is a contract that can change, a data-ownership question, and a future switching cost. The discipline is to keep the commodity vendors replaceable, keep your differentiating layer the part you own outright, and design the integrations so that swapping any one platform later is a known, bounded job rather than a rebuild. We treat those boundaries as first-class design decisions, not afterthoughts.
AI-assisted and vibe-coded development genuinely reduce the build line of the model, sometimes dramatically. They generate boilerplate, scaffold integrations, and get a working flow in front of you faster than a hand-written first pass. That is real, and it is why the question reopened. It is also the most over-extrapolated fact in software right now. The build line is only one of four. Run, change, security, accessibility, and maintenance costs are largely untouched by faster code generation, and over three years they dominate. Generated code still needs review, tests, threat modeling, accessibility, observability, and an owner when it breaks at two in the morning. A prototype produced in an afternoon is not a system you can run for three years, and treating generated code as finished software is how teams turn a cheap build into an expensive liability. We use AI aggressively to lower the build line and to prove feasibility faster, and we hold the same release standard for AI-assisted code as for any other code: spec-driven, reviewed, tested, and gated. The right reading of cheaper building is not "build everything now." It is "the cost of proving a build is feasible just dropped, so prove it properly before you commit."
A build-vs-buy decision is only as good as its riskiest assumption, so before any full-build commitment we build a vertical slice of that assumption. A vertical slice is one real end-to-end flow, top to bottom, on synthetic data, behind the same quality gates as production work. Not a clickable mock, not a happy-path screen, but the single hardest part of the workflow proven against realistic data shape, latency, error, and approval conditions. The slice is designed to fail cheaply if the build is a bad idea. If the differentiating logic cannot meet the performance bar, if the integration with a bought platform leaks or cannot be made reliable, if the data model does not survive real cases, the slice surfaces it in days for a small cost rather than in months for a committed budget. If the slice holds up, you approve the full build on evidence: a working flow, measured behavior, and a known integration surface, instead of an estimate and a hope. This is how we keep the cheaper-to-build era honest in both directions. It lets you say yes to a build you would have feared, because you have proof, and it lets you say no to a tempting build before it becomes sunk cost. The vertical slice is the bridge between a re-priced decision and a safe commitment, and it is the step we will not skip.
A useful first review does not need access to anything sensitive. It needs the problem statement, a map of the current workflow and where it hurts, the one must-win capability that is your differentiator, current tool and license spend, the integration and compliance constraints, and the owners who can approve a path. From that we can sort capabilities into build, buy, and compose, sketch the 3-year total cost model, and name the single riskiest assumption to prove first. What the first review should not require is admin logins, production credentials, customer records, payment keys, or production write access. None of that is needed to make a build-vs-buy decision, and pulling it in early creates risk with no decision value. Live access waits until the path is chosen, the data-handling rules are agreed, and a rollback owner is named. That boundary is the same discipline that makes our public demos safe: synthetic data, no live third-party writes, no secrets in the browser. A decision framework that respects access boundaries from the first call is one you can trust to respect them when real systems are on the table.
Sort each capability with the differentiator test, then price it on 3-year total cost of ownership. Build the workflow, logic, or experience that is the reason you win and that you must change faster than any vendor roadmap. Buy the commodity capability every competitor also has and that a mature vendor runs better. Compose the middle by buying platforms and building only the thin owned layer that makes the combination yours, and prove the riskiest path with a vertical slice before any full-build commitment.
Four parts across three years: build cost to create the capability, run cost for hosting, licensing, seats, and support, change cost to evolve it as needs move, and switching cost to leave including data export, re-integration, and retraining. Buying usually wins year one and compounds through seats and add-ons. Building costs more up front but removes per-seat growth and vendor lock-in. Deciding only on the build line ignores run, change, and switching, which are the numbers that dominate.
No. AI-assisted and vibe-coded development lowered the build line and the cost of proving a build is feasible, which is why the question reopened, but run, change, security, accessibility, and maintenance costs are largely untouched and dominate a 3-year model. A prototype generated in an afternoon is not a system you can run for three years, so re-price the build option but still decide on total cost of ownership.
A vertical slice is one real end-to-end flow built top to bottom on synthetic data, behind production-grade quality gates, that tests the single hardest assumption in the build. It is designed to fail cheaply in days if the build is a bad idea, and to give evidence to approve the full build if it holds up. It replaces a slide and an estimate with working software measured under realistic data, latency, error, and approval conditions, which is what a real commitment should rest on.
A problem statement, a current workflow map and where it hurts, the one must-win capability that is your differentiator, current tool and license spend, integration and compliance constraints, and the owners who can approve a path. That is enough to sort capabilities, sketch the total cost model, and name the riskiest assumption. Admin logins, production credentials, payment keys, and customer data are not needed and wait until a path is chosen and data-handling rules and a rollback owner are agreed.