Technical
When to Build Custom vs Buy Off the Shelf
Every engineering team faces this decision weekly. A vendor offers something that mostly fits. Your team could build something that exactly fits. Which do you pick? Most teams pick wrong because they optimize for the wrong dimension. Here is the framework I use with clients.
The Three Questions
Before deciding, I ask three questions in order:
- Is this our core product? If yes, build. If no, buy.
- Does the vendor solve 80% of our needs? If yes, buy. If no, reconsider.
- Would switching vendors cost more than building? If yes, build.
Most decisions end at question 1.
What Core Means
Core means the capability your customers pay you for. If I run a newsletter platform, the editorial tooling is core. The billing system is not. Stripe handles billing better than my team ever will, and my customers do not pay me for invoicing innovation.
The mistake is confusing 'visible' with 'core.' A login page is visible but not core. Auth0 or Clerk will always do it better than a small team. Do not build login.
The 80% Rule
Vendors rarely solve 100% of your needs. That is not a failure; it is physics. General-purpose tools trade depth for breadth. The question is whether the 80% they solve is the 80% you need.
If a CRM handles pipeline, contacts, and email but lacks your custom lead scoring model, that is fine. You can build the scoring model on top of their data. If it lacks contacts, run away.
The Hidden Cost of Building
Building is never 'just' the initial cost. It is:
- Initial development (visible)
- Maintenance (hidden until year two)
- On-call rotation when it breaks at 3am
- Security patches and compliance audits
- Feature requests as the business grows
Vendors charge you for all of these amortized across thousands of customers. Your team pays the full cost for one customer: you.
The Hidden Cost of Buying
Buying has hidden costs too:
- Vendor lock-in and contract negotiations
- Integration work that grows as features ship
- Data portability issues when you want to leave
- Price increases at renewal time
The honest answer is that both paths have cost. The question is which cost you can best absorb.
My Default
Buy first, build only if the vendor truly cannot do it. This is the opposite of how most engineering teams think. Engineers like to build. That bias costs companies millions in maintenance every year.
For the specific tools I trust, see Stripe for payments and Auth0 for authentication. Both solve problems that are not your core product, no matter what you are building.
RELATED READING
The Consulting Shift I Am Making In Year Two
After a year of writing and building, my consulting practice is changing shape. Shorter engagements. Sharper outcomes.
ReadThe Frontend Shift: Shipping Less JavaScript In Year Two
A year ago I reached for Next.js for everything. This year I often reach for nothing.
ReadThe Serverless Lesson I Would Write On A Sticky Note
After a year of shipping serverless projects, one rule explains most of the wins and all of the losses.
Read