storydeckGitHubfootprintjs

Primer

storydeck

One source, many lenses — render structured content as a Read article, a Scroll story, or a Watch deck.

#

Write once

Write it once. Show it three ways.

storydeck is a small React library with one idea: write a piece of content once, then render it through the lens that fits the reader. A busy engineer skims the article. A newcomer watches the story assemble as they scroll. In a meeting, you press play on the deck. Same source, three experiences — no duplicated content.

This very page is built with storydeck. Try the Read · Scroll · Watch toggle above.

#

Read

A calm, detailed article

The Read lens is a clean, sectioned article: each section is one figure plus your prose, with sticky, shareable headings. It’s server-rendered, so it’s the surface search engines and skimmers love. When a concept spans several build steps, Read shows just the final, fully-composed figure — no slide-by-slide dump.

#

Scroll

The figure pins, the story scrolls

The Scroll lens is scrollytelling: the figure pins while the narrative scrolls past it, and the pinned “stage” advances through the steps as you go — a progress rail tracks where you are. It’s the same grouped steps as the deck, driven by scroll instead of clicks.

#

Watch

Press play

The Watch lens plays the same content as an animated, keyboard-driven deck — every step, in order. One record; three ways to take it in. The reader chooses; you author it once.

#

How

One model, yours to theme

Under the hood it’s one data model. A section owns one or more slide steps plus authored prose — group several steps and they collapse to a single figure in Read and play in full in Watch and Scroll. You author in JSON (structure) + Markdown (prose), and you theme it by defining a handful of CSS variables — storydeck hardcodes no colours, so it wears your brand.

storydeck is a footprintjs library — the flowchart pattern’s “one record, many lenses” idea, applied to content.