Template Vanilla 30 pages MIT

SaaS Dashboard

A complete, commercial-grade Vanilla HTML/CSS/JS SaaS dashboard template: 30 interconnected pages sharing one coherent mock dataset, a JS-injected app shell, and a single Northstar design system. Covers overview (dashboard, analytics, reports, activity), customer management (customers, details, activity, segments, invitations), revenue (billing, plans, payment methods, invoices, transactions), communication (3-panel inbox, notifications, preferences), workspace (team, roles & permissions matrix, integrations, settings), settings (general, profile, security, sessions, API keys, webhooks), and support (help center, support, system status). Includes interactive SVG charts, sortable/paginated/filterable tables with bulk selection, modals, drawers, toasts, loading/empty/error states, light/dark mode, and a responsive sidebar that becomes an off-canvas drawer. No frameworks, no build step, no backend.

  • Vanilla
  • HTML
Pages
30 pages
Stack
Vanilla HTML/CSS/JS + HTML
Theme
Dark only
Responsive
Yes
Files
41
License
MIT

Preview

The whole site, live.

Scroll inside the frame, switch viewports, or open the raw preview in a new tab — it is the same file the CLI installs.

Interactive preview
New tab
devsnips.dev/templates/vanilla/saas-dashboard/
iPhone 390 × 844
Fluid 320 → 1920
Vanilla/Templates/saas-dashboard Responsive · Dark only · MIT

What's inside

Everything the folder ships.

Straight from the registry's metadata — every line maps to a file you can open in the source tabs below.

  • 30 interconnected pages across 8 sections, all reachable from a single JS-injected sidebar (no dead links)
  • Coherent mock SaaS dataset (DB) shared across every page — customers, team, invoices, transactions, activity, conversations, notifications reference the same entities
  • Shared Northstar design system (css/app.css + js/app.js): cool-stone neutrals, one indigo accent, hairline borders, semantic status colors, light/dark tokens — identical on every page
  • Overview: dashboard (KPIs + revenue chart + plan breakdown + activity + transactions + customers table), deep analytics (MRR/ARR/retention/churn/conversion/traffic/engagement/sessions), reports (list + preview + builder + CSV/PDF/Excel), full activity audit feed with filters
  • Customer management: sortable/filterable/paginated table with bulk selection + bulk actions, customer details with 6 tabs (overview/activity/invoices/transactions/notes/metadata), per-customer activity timeline, dynamic segments with creation UI, invitations with resend/revoke
  • Revenue: billing overview (plan/usage/payment method/upcoming charges), plan comparison + feature matrix + upgrade/downgrade flows, payment methods (cards + billing address), invoices with modal invoice viewer, transactions with detail drawer + retry
  • 3-panel support inbox: conversation list + thread + customer sidebar, search, filters, priority/tags, reply (Cmd+Enter), resolve — collapses to stacked panels on mobile
  • Notification center (unread/read tabs, mark-as-read) + polished notification dropdown in the global header + notification preferences with per-category channels
  • Workspace: team members with roles/2FA/status, clean permissions matrix (Owner/Admin/Manager/Member/Viewer × 14 capabilities), integrations marketplace with connect/configure/disconnect flows, workspace settings with branding + danger zone
  • Settings: general + appearance, profile, security (password/2FA/sessions/login history/alerts), sessions with trusted devices, API keys with create-key modal + quickstart, webhooks with endpoints/events/delivery status/retries
  • Support: help center (search/categories/FAQ), support ticket form + history, system status (overall status/component uptime bars/incident history)
  • Interactive SVG charts: line charts with comparison + hover/touch tooltip, bar charts, donut, sparklines — all with mock data and redraw on theme/resize
  • Application states: loading skeletons, meaningful empty states, error states with retry — plus disabled/selected/active/inactive/pending/failed/success throughout
  • Reusable components: modal, drawer, confirmation dialog, toast, tabs, breadcrumbs, switches, pagination, pills, avatars — all programmatic via window.NS
  • Light/dark mode: no-flash system preference detection + persisted header toggle, charts redraw on theme change
  • Responsive: sidebar → off-canvas drawer (Esc/backdrop), tables → stacked cards, multi-panel inbox → stacked, settings nav → horizontal scroll, forms → single column — no horizontal overflow at any width from 320px to 1920px
  • Accessible: skip link, semantic landmarks, ARIA on interactive controls, focus-visible rings, keyboard-operable (Escape closes overlays, Enter activates conversation items), reduced-motion safe
  • Zero dependencies — only external request is Google Fonts. Open preview.html (the template gallery) or any page in pages/ directly in a browser

Technical

Stack, scripts, structure.

Everything you need to know before you install.

Stack
Framework Vanilla HTML/CSS/JS
Language HTML
Pages 30
Theme Dark only
Browsers chrome
Files 41

root 4

  • AGENTS.md doc
  • metadata.json config
  • preview.html preview
  • README.md doc

assets/ 2

  • favicon.svg asset
  • logo.svg asset

css/ 2

  • app.css code
  • dashboard.css code

js/ 2

  • app.js code
  • dashboard.js code

pages/ 31

  • activity.html code
  • analytics.html code
  • api-keys.html code
  • billing.html code
  • code.html code
  • customer-activity.html code
  • customer-details.html code
  • customer-segments.html code
  • customers.html code
  • dashboard.html code
  • help-center.html code
  • inbox.html code
  • integrations.html code
  • invitations.html code
  • invoices.html code
  • notifications.html code
  • payment-methods.html code
  • plans.html code
  • preferences.html code
  • profile.html code
  • reports.html code
  • roles.html code
  • security.html code
  • sessions.html code
  • settings.html code
  • support.html code
  • system-status.html code
  • team.html code
  • transactions.html code
  • webhooks.html code
  • workspace-settings.html code

Install

One command, whole folder.

Pulls the template into your project through the DevSnips CLI. The registry path below is stable across the CLI, MCP server and Skills.

terminal · npm
npx devsnips add Vanilla/Templates/saas-dashboard
registry path Vanilla/Templates/saas-dashboard 41 files

AI-ready

Hand the whole job to your agent — Cursor, Cline, Claude Code or Windsurf. One prompt installs the template, fixes the theme toggle, optimises it and reshapes it for what you are building.

Scaffold the DevSnips template "SaaS Dashboard" (Vanilla/Templates/saas-dashboard) into this project, then audit, fix and tailor it.

1. Install — if the DevSnips MCP server is connected, fetch the resource with get_resource(id="Vanilla/Templates/saas-dashboard"). Otherwise run npx devsnips add Vanilla/Templates/saas-dashboard and install the dependencies the template declares.

2. Audit — check the template end to end before changing anything: theme toggling (dark/light), responsive behaviour, accessibility, unused files and assets.

3. Fix — repair what the audit found, starting with the theme toggle: it must persist across reloads, never flash the wrong theme on first paint, and every component must read the same tokens in both modes.

4. Optimise and adapt — trim what the site does not need, then customise the template for the product being built here: replace the placeholder branding, copy, imagery, navigation and routes so it reads as this project rather than as a demo.

Source

Read it before you ship it.

The README, manifest and entry document — verbatim, straight from the registry.

README.md
# SaaS Dashboard Template (Vanilla)

A complete, commercial-grade **SaaS admin dashboard** template built with plain
HTML, CSS, and vanilla JavaScript. 30 interconnected pages share one coherent
mock dataset, a JS-injected app shell, and a single Northstar design system.
No React, no Tailwind, no bundler, no build step, no backend.

**Technology:** vanilla
**Category:** templates
**Subcategory:** saas-dashboard
**Type:** multipage (30 pages)

## Preview

Open `preview.html` in a browser (a template gallery linking to every page), or
serve the folder for local development:

```bash
cd "Vanilla/Templates/saas-dashboard"
python3 -m http.server 8080
# visit http://localhost:8080/preview.html  (gallery)
# or      http://localhost:8080/pages/dashboard.html  (start page)
```

## What's inside

```
SaaS Dashboard/
├── preview.html            # Template gallery — links to every page + design-system summary
├── pages/                  # 30 interconnected pages (see below)
├── css/app.css             # Shared Northstar design system (tokens, shell, components, responsive)
├── js/app.js               # Shared dataset (DB) + app-shell renderer + components + chart utils
├── metadata.json          # DevSnips registration metadata
├── README.md              # This file
└── assets/{logo,favicon}.svg
```

### Architecture

A single `DB` object in `js/app.js` holds all mock data — customers, team,
invoices, transactions, activity, conversations, notifications, API keys,
webhooks, integrations, segments, invitations, sessions, status components,
and incidents. Every page reads from it, so a customer on the Customers page
is the same customer in transactions, activity, and the inbox. **Swap `DB` for
a real API and the render code works unchanged.**

`app.js` also injects the app shell (sidebar + topbar) around each page's
`<main data-page="…">` from a single `NAV` config, so navigation is always
consistent and there are no dead links. Shared components (modal, drawer,
confirm, toast, tabs, breadcrumbs, pagination, pills, avatars, skeleton/empty/
error states) and chart utilities (line, bar, donut, sparkline) are exposed on
`window.NS` / `window.NSCharts`.

### Pages (30)

| Section | Pages |
|---|---|
| **Overview** | dashboard, analytics, reports, activity |
| **Customers** | customers, customer-details, customer-activity, customer-segments, invitations |
| **Revenue** | billing, plans, payment-methods, invoices, transactions |
| **Communication** | inbox, notifications, preferences |
| **Workspace** | team, roles, integrations, workspace-settings |
| **Settings** | settings, profile, security, sessions, api-keys, webhooks |
| **Support** | help-center, support, system-status |

### Design system

One indigo accent (`#4f46e5`) on a cool-stone neutral ramp, semantic status
colors (success/warning/danger/info), hairline borders, restrained shadows, and
tight rhythm — via `--ds-*` CSS variables with light + dark + system-preference
variants. Reused identically across every page so the product feels cohesive.

### Features

- **Coherent mock data** shared across all pages
- **Interactive SVG charts**: line (with comparison + tooltip), bar, donut, sparklines
- **Sortable, paginated, filterable tables** with bulk selection + bulk actions
- **3-panel support inbox** (conversation list / thread / customer sidebar)
- **Modals, drawers, confirmation dialogs, toasts**
- **Permissions matrix, API keys, webhooks, integrations marketplace**
- **System status** with uptime bars + incident history
- **Loading/empty/error** application states
- **Light/dark mode** with no-flash system preference detection
- **Responsive**: sidebar → off-canvas drawer, tables → cards, multi-panel → stacked
- **Accessible**: skip link, ARIA, focus-visible rings, keyboard-operable, reduced-motion safe

### QA

Verified with Playwright across all 30 pages at 9 viewport widths
(320–1920px): **0 console errors, 0 horizontal overflow**. 11 interaction
tests pass (chart toggle, table sort/pagination, bulk selection, tab switching,
inbox reply, modal opening, mobile drawer, notifications dropdown, theme toggle).

Zero dependencies — the only external request is Google Fonts.
94 lines UTF-8 · LF