The most valuable engineering decision is usually not writing the code. Three questions that settle it.
For any capability the product needs, there are three options: build it, buy it (a service or library), or do it manually until it genuinely matters.
Technical founders default to building, because building is what they are good at and what they enjoy.
Because engineering time is the scarcest resource you have, and every hour spent rebuilding authentication is an hour not spent on the thing only you can build.
The test is simple: is this part of why customers choose you? If not, buy it or fake it.
The scheduling product's decisions:
Capability — Decision — Reasoning
Rota generation algorithm — Build — This is the product. Nobody else's is right for this workflow.
Authentication — Buy — Nobody chose you for your login. Weeks of work, zero differentiation, and worse security than a specialist.
Email delivery — Buy — Deliverability is a whole discipline.
Billing — Buy — Tax, dunning, invoices, compliance. Enormous and invisible to the customer.
Holiday requests — Manual — Do it by hand for ten customers and learn how it should work.
Reporting — Do not do it — Nobody asked.
The pattern: build the thing that is the reason people pay you. Buy the infrastructure. Do the rest by hand until a pattern emerges.
A founder who builds their own auth and billing has spent two months producing something worse than a $50/month service, while the actual product stood still.
First-time founders often build infrastructure because it feels like real engineering and because a vendor's price looks expensive compared to 'free' code they write themselves. Their own time is the most expensive input in the company, and the vendor's price is almost always lower than two weeks of it — before counting maintenance for ever.
The second mistake: buying something that IS your differentiation. If the algorithm is why customers choose you, do not outsource it to an API.
If yes, build. If no, it is a candidate for buying or faking.
Two weeks of founder time is worth far more than a year of most subscriptions — and the subscription has no maintenance cost.
For ten customers, almost anything can be done by hand. It also produces the best specification you will ever have.
How hard is it to move later? Deep coupling to a vendor's data model is the expensive part, not the monthly fee.
A sensible buy at ten customers can become an expensive one at ten thousand. Set a threshold to reconsider.
Every time a new capability is needed, and especially whenever someone says 'we could just build that'.
Do not buy something that is genuinely your core differentiation, and do not manually fake something that is safety- or money-critical.
Apply this to your own startup in My Full Journey (free account).