
What belongs in an MVP
Cutting scope is the highest-return activity in an early build, and almost nobody does enough of it. Here is a test that settles most arguments.

The build-versus-buy argument is usually had as a comparison between a licence fee and a development estimate. Both numbers are wrong: the licence fee is the smaller part of buying, and the development estimate is a small fraction of building.
We are a company that gets paid to build software, so take the position accordingly: there are several things you should not pay us or anyone else to build.
Is this thing the reason a customer chooses you over a competitor?
If yes, build it. That is your product, and outsourcing it to a vendor means your differentiation is available to anyone else with a credit card. If no, buy it — and be honest, because almost everyone believes their version of a commodity is special.
| Build | Buy | |
|---|---|---|
| It is your differentiator | Yes | No |
| It is a regulatory or commodity function | No | Yes |
| A vendor exists that does 80% of it | Rarely | Usually |
| It needs deep integration with your data model | Often | Check the API first |
| Getting it wrong is a security incident | Only with the expertise | Yes |
The estimate covers writing it. It does not cover owning it, and ownership is where the money goes:
The inverse case matters too, because "buy" can be the lazy answer:
It arrives now as "should we train our own model". For nearly everyone the answer is no: use a vendor API, and build the part that is actually yours — the retrieval, the evaluation, the workflow around it.
That is the same test as everywhere else. The model is a commodity; several vendors sell one and they get cheaper every year. What your customers choose you for is what you do with it. RAG versus fine-tuning covers where that line sits, and adding AI to an existing SaaS covers choosing the job worth giving a model.
Buy now, build later, and design for it. Put the vendor behind an interface of your own so the dependency is one implementation rather than a decision spread through your codebase.
That costs a little more up front and converts an irreversible choice into a reversible one, which is usually worth more than the saving. It is the same argument as starting on Postgres rather than a separate vector database — pgvector versus Pinecone makes it in detail.
On every MVP build we tell you which parts we think you should buy, and the list is usually longer than clients expect. Building your own authentication is not a project we will take, and we will say so on the first call.
Where something genuinely is your differentiator, that is what the engagement should be spent on — which is also the part where what belongs in an MVP matters most.
Ask whether the thing is the reason a customer chooses you over a competitor. If yes, build it — outsourcing your differentiator makes it available to anyone with a credit card. If no, buy it. Then multiply any build estimate by roughly three to account for maintenance, unmet edge cases, compliance drift and opportunity cost. If buying still looks expensive after that, build.
Authentication, payments, email delivery, and error tracking. Authentication has no upside and a catastrophic downside when wrong. Handling card data brings PCI DSS scope you do not want. Email deliverability depends on reputation and relationships with inbox providers. Monitoring tools are cheap, mature, and you will build a worse one.
When it is the core workflow customers pay for, when it needs joins against your own data and the vendor would need a copy of your database, when the vendor's pricing scales with your success and becomes a tax on growth, or when switching later would be impossible because they hold data you could not extract.
Use an API for almost all cases. The model is a commodity — several vendors sell one and prices fall every year. What customers choose you for is the retrieval, the evaluation and the workflow you build around it, and that is where the engineering effort belongs. Training your own is justified by a specific constraint, not by a preference for owning it.