Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A production-ready Next.js template for building multi-tenant applications with custom subdomains and Redis.
Platforms Starter Kit is a production-ready Next.js 16 boilerplate for building multi-tenant applications where each tenant gets its own custom subdomain, served from Redis.
Platforms Starter Kit is a full-stack application template from the Vercel GitHub organization (vercel/platforms), with over 6,600 stars on GitHub. It demonstrates subdomain-based multi-tenancy using the Next.js App Router, with a main site, an admin panel for tenant management, and tenant-specific pages routed to custom subdomains. The app takes an Upstash Redis instance as its data layer and reads the database credentials from environment variables (KV_REST_API_URL and KV_REST_API_TOKEN). It outputs a running web application where every tenant's content is looked up by subdomain.
proxy.ts, the successor to middleware.ts) to detect subdomains across local development, production, and Vercel preview deployments./admin panel lets you manage tenants directly from the browser, with tenant records stored in Redis.subdomain:{name} key pattern, making tenant isolation explicit and queryable.[tenant-name].localhost:3000 without extra configuration.Platforms Starter Kit is for developers and teams building multi-tenant SaaS products or "platform" businesses where each customer gets a branded subdomain (for example, a site-builder or storefront platform). It is also a learning resource for Next.js developers who want to see how to implement subdomain detection in the App Router's proxy layer and how to model tenant data in Redis. Finally, it's a starting point for full-stack engineers who want a production-ready reference for combining Next.js 16, React 19, Tailwind 4, and shadcn/ui in a real-world architecture.
subdomain:{name}) and connecting it to server-rendered pages.The README documents a five-step setup: clone the repository, install dependencies with pnpm (or npm/yarn), create a .env.local with your Upstash Redis credentials, start the dev server with pnpm dev, and then access the main site at http://localhost:3000, the admin panel at http://localhost:3000/admin, and any tenant at http://[tenant-name].localhost:3000. In production, the app expects a wildcard DNS record (*.yourdomain.com) pointing to the deployment so that every tenant gets a working subdomain.
Yes, the source code is publicly available on GitHub under the Vercel organization, so it's free to clone, modify, and deploy. The only external cost is the Redis service you choose, such as Upstash Redis, which offers its own free and paid tiers.
It uses Next.js 16, which is the first version to include the proxy feature that replaces middleware.ts. That proxy is used for subdomain routing in this template.
No. In development, each tenant is available at [tenant-name].localhost:3000. In production you can use the root domain's wildcard subdomains, or point individual custom domains at the app through Vercel.
Tenant data is stored in Redis. The application uses a subdomain:{name} key pattern to store and look up each tenant's settings and content.
