Template Vanilla Site MIT

Product Launch

A clean, restrained product launch / waitlist landing page for a dev-focused product, built with semantic HTML, CSS, and vanilla JavaScript. Light, neutral, and typography-driven: a sticky header with brand mark, anchor nav, theme toggle, and responsive mobile drawer; an editorial hero with a clamp() headline, status meta, and a working waitlist card (name + email validation, simulated submission, success state, beta-capacity progress bar); a social-proof logo row; a three-column feature grid; a four-step how-it-works list; a two-plan pricing teaser; a single-open FAQ accordion (CSS-grid 0fr->1fr, aria-expanded/controls/region); and a final CTA panel + footer. Split into modular files: code.html + style.css (the --ds-* design-token system from design-tokens.md, light-default + calm opt-in dark mode, reduced-motion guard) + script.js (theme toggle, mobile nav, accordion, waitlist form validation, reveal), with preview.html as a self-contained single-file preview. No React, Vue, Next.js, Tailwind, Bootstrap, or backend.

  • Vanilla
  • HTML
Pages
Site
Stack
Vanilla HTML/CSS/JS + HTML
Theme
System
Responsive
Yes
Files
7
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/product-launch/
iPhone 390 × 844
Fluid 320 → 1920
Vanilla/Templates/product-launch Responsive · System · 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.

  • sticky header with brand mark, version badge, anchor nav, theme toggle, and responsive mobile drawer (aria-expanded)
  • editorial hero with clamp() headline, status meta row (status / launch / platforms)
  • working waitlist card: name + work-email fields with inline validation, simulated submission, success state, and beta-capacity progress bar
  • social-proof logo row
  • three-column responsive feature grid (six features)
  • four-step how-it-works list with numbered rail
  • two-plan pricing teaser (Free / Team) with per-team pricing and feature lists
  • single-open FAQ accordion (CSS-grid 0fr->1fr, aria-expanded/aria-controls/role=region, chevron rotate)
  • final CTA panel with primary + secondary actions
  • light-default theme with calm opt-in dark mode (no-flash pre-paint script + persisted toggle)
  • IntersectionObserver scroll-reveal (.reveal -> .is-visible, reduced-motion safe)
  • DevSnips --ds-* shared design-token layer (design-tokens.md) with template tokens on top
  • hairline 1px borders, small controlled radii, restrained shadows, single controlled accent
  • modular file split (code.html + style.css + script.js)

Technical

Stack, scripts, structure.

Everything you need to know before you install.

Stack
Framework Vanilla HTML/CSS/JS
Language HTML
Theme System
Browsers Chrome, Firefox, Safari, Edge (modern evergreen browsers)
Files 7

root 4

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

pages/ 3

  • code.html code
  • script.js code
  • style.css 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/product-launch
registry path Vanilla/Templates/product-launch 7 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 "Product Launch" (Vanilla/Templates/product-launch) 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/product-launch"). Otherwise run npx devsnips add Vanilla/Templates/product-launch 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
# Product Launch

A clean, restrained product launch / waitlist landing page for a dev-focused product. Part of the DevSnips Vanilla Templates collection and built on the shared [`design-tokens.md`](../design-tokens.md) `--ds-*` token system.

## Design language

Minimal · light · editorial · neutral · typography-driven · restrained.

- Light-default, calm opt-in dark mode (no-flash, persisted).
- Hairline 1px borders over shadows; small controlled radii.
- Inter (text) + JetBrains Mono (labels / metadata), system fallbacks.
- Single controlled blue accent; neutral-first palette.
- One primary action per section; hierarchy from type and spacing.

## Structure

```
product-launch/
├── pages/
│   ├── code.html      # HTML structure (links style.css + script.js)
│   ├── style.css      # design system (--ds-* tokens)
│   └── script.js      # theme toggle, mobile nav, accordion, waitlist form, reveal
├── preview.html       # self-contained single-file preview (inlines CSS+JS)
├── metadata.json
└── README.md
```

`preview.html` opens directly with no backend. The modular files in `pages/` are for customization.

## Sections

1. **Header** — brand mark + version badge, anchor nav, theme toggle, mobile drawer.
2. **Hero + waitlist** — editorial `clamp()` headline, status meta, working waitlist card (validation + success + progress bar).
3. **Social proof** — company logo row.
4. **Features** — three-column grid (six features).
5. **How it works** — four-step numbered list.
6. **Pricing** — two-plan teaser (Free / Team), per-team pricing.
7. **FAQ** — single-open accordion (CSS-grid, ARIA).
8. **Final CTA** — primary + secondary actions.
9. **Footer** — copyright + footer links.

## Interactions

Scoped, dependency-free vanilla JS:

- Theme toggle (light ↔ dark, persisted, no-flash pre-paint).
- Mobile nav drawer (`aria-expanded`, Esc closes, auto-close on link click).
- FAQ accordion (single-open, `aria-expanded`/`aria-controls`/`role=region`).
- Waitlist form (name + email inline validation, `aria-invalid` + `aria-live` errors, simulated submission, success state, count bump).
- Scroll-reveal (`.reveal` → `.is-visible`, reduced-motion safe).

## Accessibility

Skip link, semantic landmarks, single `h1`, ARIA on the accordion and form, `role=img` progress bar, `:focus-visible` rings, native controls throughout, `prefers-reduced-motion` guards.

## Responsive

Three breakpoints (640 / 768 / 1024). Zero horizontal overflow at 320–1920px. Header CTA hides on very small screens (available in the drawer); feature/pricing grids reflow; hero splits to two columns on desktop.

## Dependencies

Google Fonts (Inter + JetBrains Mono). No framework, no build step.
62 lines UTF-8 · LF