SlideNerds

Getting started

From first install to a live, analytics-enabled deck in under ten minutes.

1

Create your deck

The CLI scaffolds a new Next.js project with the SlideNerds runtime, brand config, and 20 skill files pre-installed.

slidenerds create my-talk
cd my-talk
npm install
npm run dev

Open http://localhost:3000 to see your deck running. Every change hot-reloads instantly. All decks are code. See the slide definition language reference.

2

Slides are code

Each slide is a React component in its own file. The deck's page.tsx is a manifest that imports slides and controls their order.

// app/slides/01-title.tsx
export default function Title() {
  return (
    <section data-slide="">
      <h1>My talk</h1>
    </section>
  )
}
// app/page.tsx
import Title from './slides/01-title'
import Problem from './slides/02-problem'
import Solution from './slides/03-solution'

export default function Deck() {
  return (
    <main>
      <Title />
      <Problem />
      <Solution />
    </main>
  )
}

Reorder slides by moving one line in the manifest. Add a slide by creating a file and adding one import. The runtime discovers slides by their data-slide attribute in DOM order, so file structure is for human ergonomics only.

3

Build slides with an LLM

Open Claude Code (or any LLM with file access) in the same directory. Give it a prompt and watch it build your slides.

Example prompts

Create a 6-slide product launch deck for our Q2 release. Include a title slide, problem statement, solution overview, three feature highlights, and a call to action.

Good for structured decks. The LLM generates each slide as a section with data-slide attributes, using the brand config for colors and fonts.

Turn this markdown document into a presentation. Use the narrative-frameworks skill to structure it as a problem-solution-proof-CTA flow.

References a specific skill file. The LLM reads the skill's guidelines and applies the framework to your content.

Add a live demo slide that embeds our React pricing calculator component. Import it from ../components/PricingCalculator and make it interactive.

Slides are React components, so you can import and embed anything. Charts, demos, interactive widgets -- if it runs in React, it runs in your slide.

Create a data visualization slide showing our quarterly revenue growth. Use the data-visualization skill. Animate the bars on enter with data-step.

The data-viz skill teaches the LLM how to build charts with CSS and SVG. The data-step attribute makes elements appear progressively when you advance.

Add speaker notes to every slide explaining the key talking points and transition cues. Use data-notes attributes.

Speaker notes are stored as data-notes attributes on each slide. Press P during presentation to open the presenter view with notes, timer, and slide preview.

4

Navigate and present

Your deck runs in the browser with keyboard navigation built in.

KeyAction
Arrow right / SpaceNext slide or step
Arrow leftPrevious slide
PToggle presenter mode
LToggle light table
FToggle fullscreen
?Show keyboard shortcuts
5

Animate your slides

Over 100 CSS animations are built into the runtime. Add a class to any element to animate it.

Entrance animations (step-*)

Elements with data-step start hidden and animate in when revealed. Add an animation class to control how they appear.

<p data-step="" className="step-fade">Fades in</p>
<p data-step="" className="step-pop">Pops in with scale</p>
<p data-step="" className="step-slide-in-left">Slides from left</p>
<p data-step="" className="step-bounce">Bounces in</p>

Available: step-fade, step-pop, step-bounce, step-elastic, step-fly-in-*, step-move-*, step-scale-*, step-spin-in, step-flip-*, step-wipe-*, step-blur-in, step-typewriter, step-letter-spread, and more. See the animation skill for the full list.

Exit animations (exit-*)

Elements with data-exit-step animate out before the slide transitions.

<p data-exit-step="" className="exit-fade">Fades out</p>
<p data-exit-step="" className="exit-zoom-out">Zooms out</p>

Emphasis animations (emphasis-*)

Replay an animation on a visible element to draw attention. Triggered on second click.

<p data-step="" className="emphasis-pulse">Pulses on emphasis</p>
<p data-step="" className="emphasis-shake">Shakes on emphasis</p>

Available: emphasis-pulse, emphasis-bounce, emphasis-shake, emphasis-wobble, emphasis-rubber-band, emphasis-tada, emphasis-heartbeat, emphasis-flash, emphasis-spin, emphasis-glow, and more.

Auto-build animations (auto-*)

Elements animate automatically when the slide becomes active. No click needed.

<div className="auto-fade">Fades in automatically</div>
<div className="auto-pop" style={{ animationDelay: '200ms' }}>Pops in after 200ms</div>

Slide transitions (data-transition)

Set the transition between slides with the data-transition attribute on a slide.

<section data-slide="" data-transition="cube-left">
  <h1>This slide transitions with a 3D cube effect</h1>
</section>

Available: fade, dissolve, push-*, slide-*, cover-*, uncover-*, zoom-in, zoom-out, flip-x, flip-y, cube-left, cube-right, iris, split-horizontal, split-vertical, morph.

6

Create a SlideNerds account (optional)

Create a free account to save your slides, manage brand settings, and access live features like polls, Q&A, and audience reactions. Deploy your deck anywhere, then link it to SlideNerds.

slidenerds login
slidenerds link --name my-talk --url https://my-talk.vercel.app
7

Invite your team

Share your decks, brand configurations, and analytics with teammates. Invite anyone by email from the Team page in the dashboard.

Shared decks

Teammates see each other's decks in their dashboard.

Shared brands

Brand configs are shared across the team so every deck stays on brand.

Shared analytics

View engagement data across all team decks.

Email invites

Invite teammates by email. They accept or decline from the link.

8

Analytics

Get per-slide analytics automatically when you link your deck to SlideNerds. Or bring your own analytics provider.

Built-in slide analytics

Per-slide dwell time, unique viewers, and engagement trends. Available in the deck analytics panel.

Bring your own analytics

Add PostHog, Google Analytics 4, Google Tag Manager, Plausible, or a custom provider with one CLI command.

slidenerds analytics --posthog phc_XXXXXXXXXX
slidenerds analytics --ga4 G-XXXXXXXXXX
slidenerds analytics --gtm GTM-XXXXXX
9

Export to PDF or PowerPoint

Export from the deck detail page or from the CLI. PDF renders server-side at 1920x1080. PPTX generates a native PowerPoint file with editable text.

slidenerds export --pdf
slidenerds export --pptx
10

Manage brand configs

Save and reuse brand configurations across decks. Upload your logo, set colors, fonts, and spacing. Create brands from the web UI or sync from the CLI.

slidenerds brand set "Acme Corp"
slidenerds brand get "Acme Corp"
slidenerds brand list

Logo upload

Upload your brand logo. It's stored in SlideNerds and downloaded into your deck when you run brand get.

Save from CLI

Run brand set to upload your current brand.config.ts (including logo) to the service.

Apply from CLI

Run brand get to download a saved brand and write it to your local brand.config.ts.

Create from web

Use the Brand page in the dashboard to create brands with color pickers, font selection, and logo upload.

11

Add live interaction

Add real-time audience interaction to your slides. Polls, reactions, Q&A, word clouds, and audience counts.

1. Create a live session

Go to your deck's settings page and scroll to Live sessions. Give your session a name (e.g. "Q2 All-Hands") and click Create. You'll get a session ID and code snippet.

2. Add live components to your slides

Import the component and add it to a slide. The poll auto-creates itself when the slide loads.

import { LivePoll } from '@strategicnerds/slide-nerds'

<section data-slide="">
  <LivePoll
    question="What is your biggest challenge?"
    options={['Speed', 'Reliability', 'Cost']}
  />
</section>

3. Share with your audience

Share the session URL with your audience. Either hardcode the session ID in the component, or pass it as a URL parameter:

https://my-deck.vercel.app?session=SESSION_ID

The audience opens the link, navigates to the poll slide, and votes. Results update in real time.

LivePoll

Real-time audience polls with clickable options and live bar chart results. Auto-creates the poll when the slide loads.

LiveReactions

Floating emoji reactions (thumbsup, clap, heart, fire, mind blown).

LiveQA

Question submission with answered badges. Unanswered questions surface first.

LiveWordCloud

Audience submits one word. Words display as a cloud sized by frequency.

LiveAudienceCount

Pulsing dot showing how many people are watching.

For local development, pass serviceUrl="http://localhost:3000" to each component. See the live skill for full documentation.

12

Share and control access

Decks are private by default. Share them with specific people or make them public.

Public sharing

Toggle a deck to public and anyone with the link can view it.

Email-restricted links

Create a share link that only works for specific email addresses.

Domain-restricted links

Allow anyone with a company email domain (e.g. @acme.com) to view.

Password-protected links

Set a password on a share link. Recipients enter it before viewing.

Expiring links

Set an expiration date on any share link.

Tags

Organize your decks with color-coded tags. Tags are personal -- only you see your tags, even on shared decks. Create and manage tags from your Profile page, then filter your dashboard by tag to find what you need fast.

13

Skills reference

Every deck ships with 20 skill files that teach your LLM how to use SlideNerds effectively. Reference them in your prompts to get better results.

SkillWhat it teaches
layoutSlide layout patterns and spacing
advanced-layoutsMulti-column, grid, and complex compositions
animation100+ CSS animations: entrance, exit, emphasis, auto-build, transitions
brandBrand config usage, theming, and logo integration
data-visualizationCharts, graphs, and data displays
deck-templatesComplete deck scaffolds by type
diagramsFlowcharts, architecture diagrams, timelines
exportPDF and PPTX export configuration
interactiveInteractive elements and live demos
narrative-frameworksStory structures and presentation flow
react-component-embedsEmbedding React components in slides
slide-organizationMulti-file deck structure and ordering
slide-typesTitle, content, comparison, quote slides
slidenerds-runtimeRuntime API and data attributes
speaker-notesAdding and formatting speaker notes
strategic-frameworksBusiness frameworks (SWOT, etc.)
visual-designColor theory, typography, visual hierarchy
analyticsBuilt-in and third-party analytics setup
accessibilityAccessible slide design
liveLive polls, reactions, Q&A, word clouds, audience count