Some decisions in a SaaS product are cheap on day one and ruinous on day four hundred. Three of them account for most of the rewrites we are asked to rescue.
The first is data isolation. Several customer companies live inside the same software and must never see each other. That separation has to be enforced at the data layer and checked on every single query — not by a condition added in the interface, which works until the day someone writes a query that forgets it. Retrofitting real isolation is not a fix, it is a rewrite, and it happens under the worst possible circumstances: after an incident.
The second is recurring billing, and specifically its edge cases. Anyone can charge a card monthly. The work is in trials that convert, plan changes mid-period, failed payments and the dunning sequence that follows, refunds, and proration. Each is a small rule, and together they are the difference between predictable revenue and a spreadsheet someone reconciles by hand every month.
The third is the cold start, which is a product decision rather than a technical one. An empty marketplace serves neither side. The only reliable escape is to make one side useful alone — a management tool that serves the seller with no buyers, a directory that serves the visitor with no signups — and open the matching afterwards. Most successful platforms started this way; most failed ones tried to open both sides at once.
None of these requires building everything before launch. A narrow first version in the hands of real users teaches in a month what six months of meetings will not. But these three decisions shape what that narrow version is built on, which is why they come first.