Free & open source · MIT

The Next.js admin dashboard starter where every feature actually works

Built with Next.js 16, shadcn/ui on Base UI primitives, Tailwind CSS v4, and TypeScript. Production-ready tables, forms, auth, billing, and AI SDK streaming chat. Not static demo screens.

MIT licensed6,000+ GitHub starsActively maintained
shadcn-dashboard.kiranism.dev
Next.js admin dashboard template overview page with analytics cards, charts, and sidebar navigation built with shadcn/ui and Tailwind CSS
Features

Everything a real admin app needs, already wired

Each feature is a working, production-ready implementation you can copy into your own code as-is.

Data tables that really filter

Server prefetch, client-side React Query cache, and URL-synced search, filtering, sorting, and pagination via nuqs. Interactions stay instant on the client.

Advanced form patterns

TanStack Form + Zod with reusable composable fields, multi-step and dialog/sheet forms, and real create/update mutations with cache invalidation.

Auth & multi-tenant workspaces

Clerk authentication with organizations, team management, roles, and permissions wired end-to-end.

Billing & plan gating

Clerk Billing with subscription plans, a pricing table, and feature gating for plan-only pages.

Real app pages included

Analytics overview, Kanban board, chat, notifications, user management, and profile. All functional, not mocked screenshots.

Six-plus themes

OKLCH theme system with a live switcher, dark mode, and tweakcn-compatible theme files you can extend.

Pages included

Fourteen working pages out of the box

Every page ships functional: real data flows, real auth, real state. Explore them all in the live demo.

Dashboard overview

Analytics cards and Recharts graphs, with parallel routes giving each section its own loading and error state.

Product list table

TanStack Table with React Query server prefetch, client cache, and URL-synced search, filter, and pagination.

Product form

Create and edit flows built on TanStack Form and Zod, with mutations that invalidate the cache on success.

Users table

User management with the same server prefetch and client-side filtering pattern as products.

Kanban board

Drag-and-drop task board built with dnd-kit and Zustand: column sorting, priority badges, assignees, and due dates.

Chat

Messaging UI with a conversation list, message bubbles, quick replies, and attachments in a responsive multi-panel layout.

Notifications

Notification center with a header badge, popover preview, unread tabs, and mark-as-read actions.

Workspaces & teams

Multi-tenant organizations via Clerk: create, switch, and manage members, roles, and permissions.

Billing & plans

Subscription management with Clerk Billing and a ready-made pricing table.

Plan-gated page

Feature gating with Clerk Protect: plan-only content with a fallback UI for everyone else.

Auth pages

Sign-in and sign-up with passwordless, social logins, and enterprise SSO through Clerk.

Profile

Account management UI for profile and security settings.

React Query demo

A reference page for the server prefetch, HydrationBoundary, and useSuspenseQuery hydration pattern.

Error & not-found pages

A global error page wired to Sentry plus a root-level not-found page.

Why this template

Most dashboard templates are static screens

They look finished until you wire in real data. This starter takes the opposite approach.

01

Everything actually works

Tables run end-to-end against a real data layer. Forms validate and mutate with cache invalidation on success. Auth, organizations, and billing function for real, so you evaluate working patterns, not screenshots.

02

Industry-standard implementations

The data layer follows the official TanStack Query SSR pattern (server prefetch + HydrationBoundary + useSuspenseQuery), typed end to end, organized in a feature-based structure with a clean API layer per feature.

03

Minimal by design

Deliberately lean, with no bloated boilerplate, so you spend your time tweaking it to your use case, not deleting someone else’s code. The cleanup script strips any feature you do not need in under a minute.

Cleanup script

Start minimal in 60 seconds

Most starters make you hand-delete demo pages and rip out dependencies. This one ships with a cleanup script that removes the features you do not need: folders, files, dependencies, docs, and env entries.

  • Interactive mode: pick what stays, everything else goes
  • Dry-run first, so you can preview every removal
  • Replacement files are real, typechecked code

$ bun run cleanup --interactive

? Select features to remove: kanban, chat

✓ kanban removed

✓ chat removed

Folders, files, deps, and docs cleaned up.

Tech stack

Modern tools, no legacy baggage

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • shadcn/ui
  • Base UI
  • TanStack Query
  • TanStack Form
  • TanStack Table
  • Zod
  • Clerk
  • nuqs
  • Zustand
  • Recharts
  • kbar
  • Sentry
FAQ

Frequently asked questions

Is it production ready?

Yes. Every feature is a complete, working implementation: authentication, CRUD flows, table search/filter/sort/pagination, and form validation with mutations all function end-to-end. It is a starting point for real applications, not a visual mockup.

Is it free for commercial use?

Yes. MIT-licensed and free for both personal and commercial projects: no paid tier, no license keys.

Can I use it without Clerk?

Yes. Run bun run cleanup clerk to remove Clerk authentication (along with organizations and billing) and wire in your own auth solution.

How do I remove demo pages or features I do not need?

Run bun run cleanup --interactive and pick what to strip, or bun run cleanup --list to see what can be removed.

Does it support Next.js 16, React 19, and Tailwind CSS v4?

Yes. The template is built on Next.js 16 (App Router), React 19, and Tailwind CSS v4, with shadcn/ui on Base UI primitives, and is actively maintained to track new releases.

Does it work with AI coding assistants?

Yes. The repo ships AGENTS.md and CLAUDE.md with the project conventions, plus a bundled Claude Code skill that teaches agents how to add pages, tables, forms, and navigation the template way. It works with Claude Code, Cursor, and any tool that reads AGENTS.md.

Can I use npm instead of Bun?

Yes. Bun is preferred, but npm works too, and the repo ships both Node.js and Bun Dockerfiles for deployment.

How is this different from other dashboard templates?

Most dashboard templates are static demo boilerplates: screens that look finished but need rebuilding once you wire in real data. Here the tables, forms, auth, organizations, and billing all work end-to-end, the implementations follow official TanStack and Next.js patterns, and a cleanup script keeps the base minimal so you tweak it to your use case instead of deleting code.

What data fetching pattern does it use?

TanStack React Query with the official SSR pattern: prefetchQuery on the server, HydrationBoundary with dehydrate for hydration, useSuspenseQuery on the client, and nuqs for URL-synced search-param state. Mutations invalidate the cache on success.

How do I deploy it?

Deploy to Vercel out of the box, or use the included Docker setups: a Node.js Dockerfile and a Bun Dockerfile, both using Next.js standalone output mode.

Clone it. Strip what you don't need. Ship.

Free and MIT licensed. Your next SaaS dashboard, internal tool, or admin panel starts from working code.

git clone https://github.com/Kiranism/next-shadcn-dashboard-starter.git