Product Engineering
Custom Software, a SaaS Product, or a Website — How to Choose
Founders and operators often come to us already having decided what they want built, when what they actually need is a level up: which category of software solves their problem at all. Getting this wrong is expensive -- not because the code is bad, but because it's the wrong shape for the problem.
A website: when the job is to be found and understood
If the goal is presenting a business to the world -- a catalogue, a portfolio, a service offering, a way for people to find you and get in touch -- that's a website. It doesn't need user accounts, a database of complex relationships, or ongoing subscription billing. It needs to be fast, clear, and easy to maintain. Over-building this into a custom application adds cost and maintenance burden with no real benefit.
Custom software: when the business runs on a process nothing off-the-shelf fits
If a business has a specific internal process -- inventory that doesn't map to any off-the-shelf tool, a workflow between teams that involves manual handoffs and spreadsheets, reporting that requires combining data from three systems that don't talk to each other -- that's custom software. The signal is usually "we've tried to make an existing tool work and we keep working around it."
A SaaS product: when the software itself is the business
If the plan is to sell access to the software to multiple customers -- not build a tool for one business's internal use, but a product other businesses will pay to use -- that's a SaaS product. This category has real structural requirements the other two don't: multi-tenant data isolation, subscription billing, an onboarding flow that has to work without you in the room. Building this like an internal tool (or a website) creates problems that only show up once real customers depend on it.
The actual test
Ask who uses it and how they pay for it. One business using it internally, for free (to them) -- custom software. Many businesses paying to use it -- SaaS. Nobody "using" it in an ongoing sense, just visiting and reading -- a website. That answer usually settles the category before a single line of code gets written, which is exactly when it's cheapest to get right.
