How to build a SaaS with NeoSaaS

AS

Abbygael Samantha

The principle: don't rebuild the foundations

NeoSaaS is a complete SaaS boilerplate — authentication, multi-tenant management (users and companies), Stripe and Lago payments, structured customer support, and an integrated Payload CMS content manager for the public site. The idea isn't to start from an empty skeleton that has to be progressively filled in, but from a foundation that's already working and tested, on top of which you add precisely what's specific to your project — no more, no less.

Step 1 — install your instance

Two methods, one codebase

Two installation paths exist: Docker, for self-hosting on your own server or VPS, or direct installation from the public GitHub repo for finer integration into an existing pipeline. Both methods share exactly the same code — no feature is reserved for one or the other.

Staying in sync with the shared trunk

Every deployed instance can receive NeoSaaS Core updates directly from its own admin panel, with no manual Git work and no risk of unintended drift. A security fix or an improvement published to the Core becomes available to every dependent instance, with explicit control over when to apply it.

Step 2 — set up your commercial offer

The purchasing module is ready to use: just plug in your own Stripe API key (and Lago if you need usage-based billing on top of a classic subscription) from the admin panel. Once connected, creating products and commercial offers happens directly in the tool — no need to build a sales system or plan management from scratch.

This module natively handles common scenarios: recurring subscriptions, mid-period plan changes, self-service cancellation by the client, and per-seat billing for B2B offers. These scenarios, often underestimated at the start of a project, actually represent a significant share of the development time of a SaaS built from zero.

Step 3 — build your public content

The public site — marketing pages, pricing page, blog — is managed from the integrated Payload CMS content manager. It's a real block-based page builder: composing a homepage, publishing an article, or creating a new documentation page doesn't require touching any code or redeploying the application. Content and code evolve at independent paces, which is valuable as soon as the marketing team isn't the same as the technical team.

Step 4 — customize what actually matters

The time saved on authentication, billing, customer support, or marketing content management gets reinvested in what actually differentiates the project: the product's own business logic, the user experience specific to the target use case, and the third-party integrations particular to the targeted industry. That part, and only that part, justifies real custom development.

Step 5 — prepare for scale from the start

Because NeoSaaS is multi-tenant by design, a project that starts with a single client can onboard the tenth, the hundredth, with no architecture migration in between. Each client company is strictly isolated from the others at the data level — a point covered in more depth in this series' dedicated multi-tenant article.

An example of a typical first-weeks journey

Week 1: instance installation (Docker or GitHub clone), connecting Stripe keys, creating the first products. Week 2: customizing the public content through the built-in CMS — homepage, pricing, first documentation pages. Following weeks: building the product-specific business logic, relying on the already-available modules (auth, multi-tenant, support) instead of rebuilding them. This sequencing, observed across several real projects built on NeoSaaS, avoids the classic pitfall of starting with the differentiating feature before having a stable foundation to host it on.

Common mistakes when starting out

Two traps come up regularly: deeply customizing standard screens (login, billing) before even having a real client to show them to, and neglecting payment module setup until the last moment, even though it's often the part that takes the longest because of each provider's own verification requirements (Stripe in particular requires account validation that can take several days).