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.
What is Platforms Starter Kit?
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.
Key Features
- Custom subdomain routing — Uses the Next.js 16 proxy (
proxy.ts, the successor tomiddleware.ts) to detect subdomains across local development, production, and Vercel preview deployments. - Admin interface — A dedicated
/adminpanel lets you manage tenants directly from the browser, with tenant records stored in Redis. - Redis-backed storage — Tenant data is persisted in Redis under a
subdomain:{name}key pattern, making tenant isolation explicit and queryable. - Tenant-specific content — Each subdomain serves its own pages and branding while sharing the same React components and layouts.
- Emoji branding — Tenants can be assigned an emoji as their brand marker, which is rendered throughout their subdomain.
- Modern tech stack — Built with Next.js 16, React 19, Tailwind 4 for styling, and shadcn/ui for the component design system.
- Local subdomain support — During development, tenants are accessible at
[tenant-name].localhost:3000without extra configuration.
Who is it for?
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.
What can you do with Platforms Starter Kit?
- SaaS founders: Scaffold a multi-tenant platform quickly — the included admin panel and subdomain routing let you onboard new customers with their own branded subdomain and content.
- Frontend developers: Study the proxy.ts implementation to understand how subdomain detection behaves in local, production, and Vercel preview environments.
- Backend developers: See a concrete pattern for namespacing tenant data in Redis (
subdomain:{name}) and connecting it to server-rendered pages.
How does Platforms Starter Kit work?
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.
Pros and cons
- Pros: The template is a production-ready official example from Vercel, uses the latest Next.js 16 and React 19 features, and includes clear setup documentation for local development and Vercel deployment.
- Cons/requirements: It requires an external Redis instance (the README points to Upstash) for data storage, and custom domains in production require you to set up wildcard DNS yourself.
FAQ
Is Platforms Starter Kit free to use?
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.
What version of Next.js does it use?
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.
Do tenants need custom domains?
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.
Where is tenant data stored?
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.








