Founders worry about the wrong things in month one. Framework choice, hosting provider, whether to use a monorepo — all reversible, most of them in a week. The decisions that actually compound are quieter.
Tenancy
Shared schema with a tenant column, schema per tenant, or database per tenant. The right answer depends on how many customers you expect, how different their data volumes are, and what your compliance story needs to be. Getting it wrong means rewriting every query you have written and migrating live customer data under load.
Permissions
Roles look simple until the first customer asks for a user who can see revenue but not client names. If permissions are checked ad hoc in each endpoint, that request becomes a month of work and a security review. Model them as policy from the start, even if you launch with two roles.
Billing
Per seat, per usage, tiered, or hybrid decides your data model, not just your pricing page. Usage-based billing needs metering from day one — you cannot retroactively invoice for events you never recorded. Changing model later means reissuing invoices and explaining it to every existing customer.
None of these need a perfect answer. They need a deliberate one, written down, with the reasoning attached. The failure mode is not choosing wrong; it is discovering in month nine that nobody chose at all.