Skip to content
slidepig.

Small pig.
Big ideas.

Decks that are web pages.

A small React library. Scroll to read, press F to present. One page, one link, for everyone in the room and everyone who missed it.

Read it.
Present it.
One page. Two modes.

A deck with a life
after the meeting.

Made for the link.

A responsive page with real headings, playable media, and a link to every slide. Send /pitch#plan and land on the idea that matters.

Ready for the room.

Press F to present, ↑ ↓ to advance, and Esc to read again. The same content is always behind the controls.

No template ceiling.

Start with typed slide data and built-in layouts. Bring React components, custom layouts, and CSS when your idea needs more room.

From a folder
to the floor.

Scaffold a site, write your slides, and open it in the browser. React 19 or newer. Your editor, your content, your hosting.

npx slidepig create my-decks
cd my-decks
npm install
npm run dev

Already have a React app? npm i slidepig, import the styles, and render <Deck deck={deck} />.

Read the getting started guide
src/decks/hello.ts
import { defineDeck } from "slidepig";

export default defineDeck({
  title: "Something worth sharing",
  slides: [
    {
      id: "hello",
      layout: "hero",
      title: "This little piggy had an idea.",
      body: ["And put it on the web."],
    },
    {
      id: "next",
      title: "Here's what happens next.",
    },
  ],
});

The proof is in the pig.

These are real slidepig pages. Scroll to read, or open one and press F.