Next.jsReactSaaSStarter

evo.platform — Next.js SaaS Template

By evomedia-net

evo.platform is a multi-tenant SaaS platform and template toolkit comprising shared platform services, Node and Python SDKs, a Next.js starter template and the evo new scaffold CLI, supporting standalone operation or platform integration.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

Shared platform service centralizes tenants, users, JWT/JWKS authentication, billing, SMTP email and audit logging

02

Provides two SDKs, Node and Python, wrapping authentication, tenants, members, invitations, billing, branding and email

03

The templates/next starter template is based on Next.js + Prisma + PostgreSQL, with an IndexedDB change queue and last-write-wins sync

04

The evo new scaffold CLI can clone templates, rename and generate keys

05

Each template runs standalone by default; after setting PLATFORM_URL it can switch to the platform SDK

Template Details

evo.platform extracts the repetitive underlying infrastructure of multi-tenant applications into a shared platform service plus template toolkit. The platform service is built on Node.js/NestJS, Prisma and PostgreSQL, handling tenants, users, authentication (JWT/JWKS), billing, SMTP email and audit logging; one service can serve multiple applications. Two accompanying SDKs (@evoplatform/sdk-node and the Python evoplatform-sdk) wrap authentication, tenants, members, invitations, billing, branding and email so applications need not hand-write HTTP calls. The template part provides templates/next, a Next.js + Prisma + PostgreSQL starter template with an offline-first browser layer (IndexedDB change queue, last-write-wins sync) and adherence to a unified template contract. The scaffold CLI uses evo new <app-name> to clone, rename and generate keys.

Each template runs in standalone mode by default: it uses a local user table, a single implicit tenant, depends on no external services, and can run offline on one machine. After setting PLATFORM_URL and client credentials, authentication, tenants and email switch to the platform SDK. Applications can run standalone first and connect to the platform later. The repository also includes architecture, template contract, deployment and process documentation, where the process documentation uses numbered-step sequence diagrams to illustrate registration, tenant site requests and calls to evo-ai (an independent commercial service; the SDK's AskAi client is optional).

The project states it is at working v1 status: the platform service (including admin console), both SDKs, the Next.js template and the evo new CLI are runnable and tested, and have been used in production across three applications: ProvenSheet, CivilCode and DocketMail. The code is released under the MIT license, but third-party assets such as demo images, fonts and icons require separate license verification, and external services such as domains, hosting, databases, payments or AI may incur additional charges.

Next.jsSaaSStarter

Is it right for your project?

Use Cases

  • Teams needing to reuse the same tenant isolation, login, roles and billing logic across multiple applications
  • Projects wanting to start from a runnable Next.js template and then integrate shared platform services as needed
  • Applications that prefer local development in standalone mode first and later migrate to a multi-tenant platform
  • Developers needing Node or Python clients to call authentication, tenant, member and billing APIs

Suitable For

  • Development teams building multi-tenant SaaS products
  • Projects needing unified authentication, RBAC, billing and audit logging infrastructure
  • Developers preferring the Next.js + Prisma + PostgreSQL stack
  • Teams wanting to quickly generate a tenant-aware site skeleton with the scaffold

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Installation and deployment steps are in docs/INSTALL.md and docs/DEPLOY.md

  2. 2

    The platform service uses Node.js/NestJS, Prisma and PostgreSQL; templates use Next.js + Prisma + PostgreSQL

  3. 3

    Templates run standalone by default; integrating the platform requires setting PLATFORM_URL and providing client credentials

  4. 4

    evo-ai is an independent commercial service; the AskAi client in the SDK is optional

  5. 5

    The code is MIT licensed, but third-party assets and external services require separate license and cost verification

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is that version's code and does not imply that external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and liability limitations are governed by the original license and applicable law.

Additional costs & items to verify

  • evo-ai is an independent commercial service; the AskAi client in the SDK is optional. Using that AI feature requires separate payment and depends on external services, and is not part of the free code scope.
  • Integrating the shared platform service requires setting PLATFORM_URL and providing client credentials; without it, templates run in standalone mode using a local user table and a single implicit tenant.
  • Demo images, fonts, icons and other third-party assets must be verified under their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

**A tenant app asking evo-ai** (separate, commercial service; the SDK's `AskAi` client is optional)

Original README

Setting `PLATFORM_URL` (plus client credentials) flips auth, tenancy, and email over to the platform SDK.

Original README
https://github.com/evomedia-net/evo.platform/blob/main/LICENSEhttps://github.com/evomedia-net/evo.platform/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 85 / 100
Technologies
Next.js · React
Website type
SaaS · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-09-30
Screenshot last checked
2026-10-01

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 865bb8116deca147eb52bc04ac2f78827da624df5a31a0108243a3833fd28df3

2026-10-01T00:44:16.649Z

Source file / repository
# EvoPlatform

![CI](https://github.com/evomedia-net/evo.platform/actions/workflows/ci.yml/badge.svg)

**https://evomedia.net** — built by Kelly Michels · [email protected]

A multi-tenant SaaS platform and app-template toolkit. Build a new tenant-aware site by
cloning a starter template — tenancy, auth, RBAC, audit logging, and deployment come wired in.

> **Status: working v1.** The platform service (with admin console), both SDKs (Node and
> Python), the Next.js template, and the `evo new` CLI all run and are tested, and are in
> production under three apps: ProvenSheet, CivilCode, and DocketMail. **Setup: [docs/INSTALL.md](docs/INSTALL.md)** · deploy:
> [docs/DEPLOY.md](docs/DEPLOY.md) · design:
> [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md), [docs/TEMPLATE_CONTRACT.md](docs/TEMPLATE_CONTRACT.md) · flows:
> [docs/FLOWS.md](docs/FLOWS.md).

## The idea

Most multi-tenant apps re-implement the same undifferentiated plumbing: tenant isolation,
login, roles, billing, email, admin tooling. EvoPlatform splits that into:

- **A shared platform service** (Node.js/NestJS + Prisma + PostgreSQL) that owns tenants,
  users, auth (JWT/JWKS), billing, and SMTP — one service serving many apps.
- **Two SDKs** — `@evoplatform/sdk-node` and `evoplatform-sdk` (Python) — wrapping auth,
  tenancy, members, invites, billing, brand and email, so apps talk to the platform without
  hand-rolling HTTP calls.
- **A starter template** conforming to a single template contract:
  `templates/next` — Next.js + Prisma + PostgreSQL, with an offline-first browser layer
  (IndexedDB mutation queue, last-write-wins sync).
- **A scaffold CLI** — `evo new <app-name>` — clone, rename, generate secrets, done.

## Standalone mode

Every template runs **without** the platform service by default: a local users table, a
single implicit tenant, and no external dependencies — the whole app runs on one machine,
offline if needed. Setting `PLATFORM_URL` (plus client credentials) flips auth, tenancy, and
email over to the platform SDK. Apps can start standalone today and join the platform later.

## System flows

How requests move through the platform — the full walkthrough with numbered
steps and direction rules is in [docs/FLOWS.md](docs/FLOWS.md). Solid arrows
are requests (tail = initiator), dashed are responses, amber is an out-of-band
push, blue is the mechanism each figure exists to show.

**User sign-up, end to end** — one request creates the workspace, its founding
admin, and trial access to the arriving app only; nobody signs in until the
mailbox is verified:

![Sign-up sequence diagram](docs/img/flows/flow-1-signup.svg)

**A tenant site through the system** — login is delegated to the platform,
then every request is verified locally against pulled JWKS keys; after login
the app does not need the platform to be up:

![Tenant site sequence diagram](docs/img/flows/flow-2-tenant-site.svg)

**A tenant app asking evo-ai** (separate, commercial service; the SDK's
`AskAi` client is optional) — server-side service key, tenant-scoped
retrieval, and a relevance gate that refuses before any model is invoked:

![Ask AI sequence diagram](docs/img/flows/flow-3-ask-ai.svg)

## Repository layout

```
platform/            Shared platform service (NestJS)
packages/sdk-node/   Node SDK
packages/sdk-python/ Python SDK
templates/next/      Next.js starter template
cli/                 `evo new` scaffolding tool
docs/                Architecture and design docs
```

## License

[MIT](LICENSE) © Kelly Michels
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.