# Build vs buy: ready-made instead of your own

> Build vs buy software for a two-person team: which parts to rent instead of building, how to pick a service that lasts, and how to keep a way out of vendor lock-in.

- Course: [From Idea to Profitable Product: Building Without Investors](https://productovi.com/courses/bootstrapped-product.md)
- Module: The smallest thing that works
- Lesson 15/30, ~25 min
- Source: https://productovi.com/courses/bootstrapped-product/ready-made-instead-of-your-own

## Build vs buy: Nina wants to write it all

**Alex Tutor:** At GarageDesk, Nina is planning the build, and as her advisor you'll have a say in what she writes herself. Today it's build vs buy, part by part.

**Nina:** I could write the SMS sending myself. And the sign-in. It's not hard, and I'd understand every line.

**Sofia:** Wouldn't that be cheaper? No monthly fees.

**Alex Tutor:** Cheaper in hryvnias, expensive in weeks. Sign-in looks like one form. Behind it are password resets, leaked passwords, emails that land in spam and a locked-out administrator calling on Saturday.

**Alex Tutor:** Ask one question about every part: is this what shops pay us for? Reminders by date and mileage: yes, that's yours to build. Sign-in, payments, message sending, servers: every product needs them, and whole companies do nothing else.

![A mechanic concentrates on an engine while, behind him, a delivery worker brings in tyres and an electrician fixes the garage lights.](https://productovi.com/courses/bootstrapped-product/inline/ready-made-instead-of-your-own-illustration-2.webp)

> **Exercise:** Which part of GarageDesk should Nina write herself?

## What renting costs, and what building costs

**Oscar:** So we rent four things: a service for SMS and Viber, a payment provider, a sign-in service and hosting. Our tools bill goes from 2,000 to 3,500 UAH a month.

**Sofia:** That's 1,500 more every month, and they haven't launched yet.

**Alex Tutor:** Compare it with Nina's time. Writing and securing those parts would eat most of her four weeks. And rented services get fixed while she sleeps.

**Alex Tutor:** But first put a yearly number on the extra cost, so you know what you're trading Nina's weeks for.

> **Exercise:** Renting four services (SMS and Viber sending, payments, sign-in and hosting) raises GarageDesk's tools bill from 2,000 to 3,500 UAH a month. How much **extra** does renting cost over a full year?

**Nina:** The message service also handles sender names and delivery reports. I didn't even know those existed until I read its docs.

**Alex Tutor:** That's the usual story: the part outside your core is always more complicated than it looks. Now recount the money milestone that moves first: tools paid.

> **Exercise:** On the money-milestone ladder, four paying shops covered the 2,000 UAH tools bill. The bill is now 3,500 UAH a month. At 600 UAH per shop, how many paying shops cover it? Whole shops only.

## A service that lasts

**Sofia:** There are dozens of SMS services. How do you choose one?

**Alex Tutor:** Check four things. Do businesses like yours use it for the same job? Has it been around for years? Is it updated, and does support answer? And can you leave: are there alternatives, and can you export your data?

**Nina:** One new service offered half the price and a beautiful interface. Two developers, launched last autumn.

**Alex Tutor:** If it disappears, your reminders disappear with it, and shops will blame GarageDesk, not them. Half price isn't worth that for the one part that must never fail.

**Alex Tutor:** That last point catches many founders. Check this claim.

> **Exercise:** **True or false:** once GarageDesk rents a message service, delivery problems are the provider's responsibility, not GarageDesk's.

> **Exercise:** Which are good signs when choosing a message-sending service for GarageDesk? Choose all that apply.

## Boring technology on purpose

**Nina:** Does the same apply to my own code? I wanted to try a new framework for GarageDesk.

**Alex Tutor:** Build the business on what you already know. Learning a new stack while finding customers means two experiments at once. When something breaks at night, you won't know which one failed.

**Nina:** So the stack I used at the distributor for five years. Boring.

**Alex Tutor:** Exactly: **boring technology**. Well known, mature, with an answer online for every error message. The business is risky enough without it.

![On a workbench, a sturdy old wrench lies next to a flashy gadget-tool with blinking lights; the mechanic reaches for the old wrench.](https://productovi.com/courses/bootstrapped-product/inline/ready-made-instead-of-your-own-illustration-3.webp)

*Boring technology: well known, mature, with an answer online for every error.*

> **Exercise:** **True or false:** building GarageDesk on a new framework is a smart way for Nina to learn it, because she will need to learn it sooner or later anyway.

## Avoid vendor lock-in: keep a door out

**Alex Tutor:** One more habit. Don't let your code call the SMS service from fifty places. Put one small module in between, "send a reminder", and today's provider behind it.

**Oscar:** Why bother, if the provider is good?

**Alex Tutor:** Providers raise prices, change terms and go down. With one module, switching is a day's work instead of a month's: that's how you avoid **vendor lock-in**. Same with payments: keep your own record of who paid what and when.

![A garage machine is plugged into the wall through one small adapter; a hand swaps the plug at the adapter without touching the machine's wiring.](https://productovi.com/courses/bootstrapped-product/inline/ready-made-instead-of-your-own-illustration-4.webp)

![GarageDesk builds only its reminder rules and rents message sending, payments, sign-in and hosting, each behind one module, so a provider can be swapped in a day.](https://productovi.com/courses/bootstrapped-product/diagrams/m4-l3-build-or-rent.png)

*Build what shops pay for; rent the rest and keep a way out.*

**Nina:** And the car owners' phone numbers live in our database, not only in the provider's.

**Alex Tutor:** Nina's point deserves a check of its own. Where should those numbers live?

> **Exercise:** The SMS provider offers a handy contact book. Where should GarageDesk keep the car owners' phone numbers?

> **Exercise:** Why does Nina put a "send a reminder" module between GarageDesk and the SMS provider?

## A weekend offer

**Sofia:** What if someone offers to build a part for free?

**Oscar:** That just happened. A developer friend offered to write our own sign-in with passwords over a weekend. For free.

**Alex Tutor:** Free to build isn't free to own. Who fixes it when an administrator can't log in? Who patches it when a new kind of attack appears?

**Nina:** I would. At night. Let me write him a reply.

> **Exercise:** A developer friend offers to build GarageDesk's own sign-in with passwords over a weekend, for free. In 3–5 sentences, write Nina's reply and explain the decision using the ideas from this lesson.

> **Key ideas**
>
> - **Build vs buy**: ask of every part, "is this what customers pay us for?" Build the core (GarageDesk's reminder rules); rent the rest (sign-in, payments, message sending, hosting).
> - Renting costs money every month, but building costs weeks now and maintenance forever. GarageDesk's tools bill: 2,000 → 3,500 UAH, covered by 3,500 / 600 ≈ 5.83 → **6 shops**.
> - Pick services that last: used by businesses like yours, mature, maintained, replaceable.
> - **Boring technology**: build the business on the stack you know.
> - Keep a way out: one module between your code and each provider, and your own copy of the key data.

**Alex Tutor:** Next time: GarageDesk is live, and in April one late-night release goes wrong. How do you ship changes without fear?

- Previous lesson: [How to build an MVP: sign up, get value, pay](https://productovi.com/courses/bootstrapped-product/mvp-sign-up-get-value-pay.md)
- Next lesson: [Releases without fear: rollback and feature toggles](https://productovi.com/courses/bootstrapped-product/releases-without-fear.md)

---
Productovi Learning. Free, no sign-up needed to read.
