Skip to content
VibeFather
Join

2 cases built from this template

Same prompt, different [VARIABLES]. Click one to preview it above.

About this template

Interactive Product Tour Page is a single-page SaaS site built around a working, code-drawn product demo rather than a passive screenshot. A split hero introduces the product and places a complete guided workspace beside it. Three chapter tabs lead visitors through nine focused steps, with anchored hotspots, masked spotlights, concise tooltips, progress controls, optional autoplay, and a conversion prompt after every chapter. The interaction works with mouse, touch, and keyboard, and the mobile version moves guidance below the interface so nothing becomes a tiny desktop mockup.

The visual system pairs warm paper, editorial serif headlines, and coral guidance markers with a deep ink application canvas. It suits SaaS founders, product marketers, and indie teams that need to explain a workflow quickly and give prospects a useful next step. Below the tour, chapter cards, a decision-trail feature section, practical FAQs, and a final call to action make the page feel complete without diluting the demo. Chapter completion states create natural pauses for a contextual next step, while manual navigation lets returning visitors skip directly to the workflow they care about most.

The default content follows Nookline, a client approval workspace for creative studios. Swap four variables to reposition it for another product and audience; all interface labels, steps, sample projects, and calls to action are centralized for rewriting. An alternate property-care case demonstrates the same structure in a different industry. Everything is drawn with React, CSS, SVG, and Lucide icons, with no photographs, remote APIs, or backend. Motion is restrained and reduced-motion aware, while the static build keeps fonts and every other asset local.

The template prompt

The live demo was built from exactly this text — nothing added. The other cases only change the values of the [VARIABLES].

# Interactive Product Tour Page

Build this website exactly as described below. Replace the [VARIABLES] with your own values; keep everything else.

## Brief
Build an original single-page product tour for [BRAND], a [PRODUCT] for [AUDIENCE]. The page sells through demonstration: a large, fully code-drawn application sits in the hero and guides visitors through three workflow chapters and nine concrete steps. Every chapter ends with a useful recap and a [PRIMARY_CTA] conversion action.

- Audience: SaaS founders, product marketers, and independent software teams who need to explain a multi-step workflow, qualify prospects, and make a product feel understandable before a signup or sales call.
- Goal: Let visitors complete a clear interactive tour at their own pace or with optional autoplay, understand the product's core workflow, and respond to a contextual call to action without leaving the page.
- Tone: Assured, practical, and quietly editorial. Use short sentences, precise product language, and believable sample details; avoid hype, fake customer claims, generic AI phrasing, and jokes.

## Stack
- Framework: Vite 6 + React 19 + TypeScript
- Styling: Tailwind CSS 4
- Libraries: motion (MIT), lucide-react (ISC), @fontsource-variable/newsreader (OFL), @fontsource-variable/manrope (OFL), @fontsource/ibm-plex-mono (OFL)
- Build: `npm run build` → static files in `dist/`. No backend, no server code, no external APIs.
- Setup:
  - Configure vite.config.ts with base: './', build.sourcemap: false, and the Tailwind CSS Vite plugin; the production output is static files in dist/.
  - Import Newsreader Variable, Manrope Variable, and IBM Plex Mono from their local Fontsource packages; do not add a font stylesheet URL.
  - Keep every visitor-facing string, variable value, navigation label, chapter, tooltip, sample project, FAQ, dialog label, and link in src/content.ts. Keep typed tour-step definitions there as well, including targetId and tooltip placement.
  - Implement the tour in src/components/ProductTour.tsx as one explicit state machine: activeChapter, activeStep, chapterComplete, and playbackState ('idle' | 'playing' | 'paused'). Render the original application scenes in src/components/AppCanvas.tsx and resolve hotspot targets through refs or data-tour-target attributes.
  - Define the exact color, type, spacing, radius, shadow, and keyframe tokens in src/index.css and the Tailwind theme. Use Motion for step, panel, dialog, and section transitions; use ordinary React state for application-demo changes.
  - Use a native dialog element for the client-side conversion dialog, including labelled fields, Escape dismissal, focus return, and a local success state. Do not transmit or persist form values.
  - Provide development, build, and preview scripts in package.json. The fixed default build command is npm run build; do not introduce a server, router, state library, or additional component library.

## Variables
- [BRAND] — Invented product brand (default: "Nookline"). Use a short invented name in the wordmark, page title, product copy, dialog, and footer.
- [PRODUCT] — Product category (default: "client approval workspace"). A lowercase description of the product; rewrite the workflow, interface labels, and sample data to suit it.
- [AUDIENCE] — Primary customer audience (default: "independent creative studios"). A plain lowercase audience description used in the hero and supporting copy.
- [PRIMARY_CTA] — Primary call to action (default: "Start a free workspace"). Use the same action in the header, chapter-completion panels, and final CTA; it opens the local demo dialog.
- [CREDIT] — keep a small "Template by VibeFather" link to https://vibefather.ai/t/interactive-product-tour-page in the footer (default: yes; delete this line to remove it)

The copy under Pages & Sections is written for the default values. If your values differ, rewrite every headline, paragraph, label and image for them — same length, tone and structure. Layout, colors, type and motion stay as described.
Keep all copy, image paths and links in one content file (for example `src/content.ts`), keyed by section, so the content can be swapped later without touching components.

Pro template. The design, sections, motion and assets parts of this prompt are for Pro members. The live demo and DESIGN.md stay free.

Join Pro early access →

DESIGN.md

The design system on its own — colors, type, spacing and motion. Apply this look to a project you already have.

---
name: "Interactive Product Tour Page"
colors:
  paper: "#F4F1EA"
  surface: "#FFFCF7"
  ink: "#18201F"
  muted: "#69716C"
  line: "#D9D8D0"
  stage: "#111A1D"
  stage_raised: "#1B272B"
  stage_text: "#F4F6F2"
  coral: "#FF7058"
  coral_deep: "#A9382B"
  mint: "#B8D8C5"
typography:
  editorial_display: { family: "Newsreader Variable", weights: [400, 500, 600] }
  interface_and_body: { family: "Manrope Variable", weights: [400, 500, 600, 700] }
  step_counts_and_compact_data: { family: "IBM Plex Mono", weights: [400, 500] }
spacing: "Use an 8px base grid. Content max-width is 1360px with 64px desktop gutters, 32px tablet gutters, and 20px mobile gutters. Header height is 72px. Hero top/bottom padding is 56px/96px on desktop and 32px/64px on mobile. Later sections use 112px desktop and 72px mobile vertical padding. Keep text measures near 58 characters and application labels compact."
radius: "Use 18px for the tour console and dialog, 14px for large feature panels, 10px for application panels and inputs, and 7px for buttons. Reserve full pills for status chips, progress counts, and small tab labels. Use one-pixel borders rather than a page full of floating cards; only the tour console gets a large shadow: 0 24px 80px rgba(17, 26, 29, 0.14)."
---

# Interactive Product Tour Page — Design System

Apply this design system to an existing project. It describes the look and feel only; for the full site, use prompt.md.

## Colors
- **Paper** `#F4F1EA` — Main page background and generous editorial margins
- **Surface** `#FFFCF7` — Header, chapter cards, FAQ panels, and dialog surfaces
- **Ink** `#18201F` — Primary text, dark buttons, and strong icon strokes
- **Muted** `#69716C` — Secondary copy and inactive controls on light surfaces
- **Line** `#D9D8D0` — Hairline borders, separators, and inactive progress tracks
- **Stage** `#111A1D` — Main application-canvas background
- **Stage Raised** `#1B272B` — Application sidebar, cards, menus, and tooltip surfaces
- **Stage Text** `#F4F6F2` — Primary text inside the dark product mockup
- **Coral** `#FF7058` — Active hotspot, progress, selected tabs, and primary accent fills; pair with Ink text on light backgrounds
- **Coral Deep** `#A9382B` — Accessible accent text and focus rings on Paper and Surface
- **Mint** `#B8D8C5` — Approval, resolved, and success states inside the application

## Typography
- **Editorial display** — Newsreader Variable (OFL), weights 400/500/600. Self-host the font files.
- **Interface and body** — Manrope Variable (OFL), weights 400/500/600/700. Self-host the font files.
- **Step counts and compact data** — IBM Plex Mono (OFL), weights 400/500. Self-host the font files.

## Spacing & shape
- Spacing: Use an 8px base grid. Content max-width is 1360px with 64px desktop gutters, 32px tablet gutters, and 20px mobile gutters. Header height is 72px. Hero top/bottom padding is 56px/96px on desktop and 32px/64px on mobile. Later sections use 112px desktop and 72px mobile vertical padding. Keep text measures near 58 characters and application labels compact.
- Radius: Use 18px for the tour console and dialog, 14px for large feature panels, 10px for application panels and inputs, and 7px for buttons. Reserve full pills for status chips, progress counts, and small tab labels. Use one-pixel borders rather than a page full of floating cards; only the tour console gets a large shadow: 0 24px 80px rgba(17, 26, 29, 0.14).

## Motion
- On step changes, crossfade and translate the outgoing/incoming guidance by 8px over 240ms; animate the spotlight cutout and target outline to the new bounds over 200ms without changing the console's dimensions.
- Show a restrained 2-second coral box-shadow pulse on the active numbered hotspot. Stop the pulse while autoplay is paused by manual interaction and remove it entirely for reduced motion.
- Autoplay is off on initial load. When explicitly started, each step displays for 5000ms while a thin coral progress line fills linearly; chapter completion always pauses playback.
- Reveal lower sections once with a 20px rise and 420ms fade, staggered by 70ms. Do not pin the page, hijack scrolling, or run decorative continuous background animation.
- Open the native dialog with a 180ms opacity and 0.98-to-1 scale transition. Respect prefers-reduced-motion by removing transforms, pulses, smooth scrolling, and reveal delays, and by leaving autoplay unavailable while retaining every manual control.

## Imagery
There are no raster images. The visual anchor is a rich, original product interface built from semantic HTML, CSS, inline SVG, and Lucide icons: sidebar, queue, file canvas, comment pins, version controls, approval checklist, progress indicators, and handoff ledger. Draw a simple generic three-panel brand mark and abstract file thumbnails in code. No screenshots, stock photographs, customer logos, mascot, signature illustration, or recognizable existing product interface.

## Tone
Assured, practical, and quietly editorial. Use short sentences, precise product language, and believable sample details; avoid hype, fake customer claims, generic AI phrasing, and jokes.

---
— Prompt by VibeFather · https://vibefather.ai/t/interactive-product-tour-page · CC BY-NC 4.0 (non-commercial; commercial use needs a VibeFather Pro license) · Request removal: https://vibefather.ai/takedown