Hosted Storybook

Publish your design system's Storybook straight from the desktop app to a URL your whole team can open, designers, PMs, and stakeholders who never touch the repo. One click builds the current brand, uploads it, and hands back a link. Keep it private to your team, or flip it public and share it with anyone. Available on Pro and Enterprise.

The Publish button in Spektral's Storybook bar
The Publish button lives in the Storybook bar, next to Start.

One Click to Publish

Sign in to Spektral, open a project, and press Publish. Spektral builds Storybook for the active brand, uploads it, and opens the hosted URL. There is nothing to configure, the project is created on your team the first time you publish. Publishing builds your current working copy, including changes you haven't released yet, so a review link is never blocked on cutting a version.

Bundle files upload straight to object storage over short-lived presigned URLs rather than through the app, so a large Storybook doesn't queue behind a server. A publication only becomes the live bundle once its entry point is confirmed in storage, an interrupted or abandoned upload can never replace the Storybook your team is currently viewing.

Publish
  ↓ builds Storybook for the active brand
  ↓ uploads the bundle straight to storage
  ↓
storybook.spektral.design/your-team/your-project

Always the Right Brand

If you run multiple brands from one design system, publishing builds tokens for the brand you have active, not a default. What ships is exactly what you see, and every publication records which brand and platform produced it.

Brand-accurate

The active brand's tokens are compiled into the bundle, so colors, type, and spacing match what you designed.

Versioned

Each publish is a new version. A failed or half-finished upload never replaces the Storybook your team is viewing.

Instant link

Publishing opens the hosted URL and keeps it a click away. Share it in Slack, a doc, or a ticket.

Private by Default

A newly published Storybook is private. Viewers sign in to Spektral, and only members of the team that owns the project can open it. Access is checked on every visit, the moment someone leaves the team, the door closes.

Viewer opens the link
  ↓ Spektral checks team membership
  ↓ issues a short-lived, project-scoped pass
  ↓
the bundle is served, for this project only

The pass is scoped to a single project, so a link to one design system can never reach another team's work.

Public When You Want Feedback

Some reviews involve people who will never have a Spektral account, a client, a contractor, an accessibility auditor, someone in another department. Flip a project's Storybook to Public from the project page in the web dashboard and copy the share link. Anyone with it can open the Storybook in a browser: no account, no sign-in, no install. Flip it back and the link stops working.

One toggle, one link

The project page shows a Public or Private badge so the current state is never ambiguous, with Copy public link next to it when sharing is on.

Private means invisible

A private project doesn't return "forbidden" to a stranger, it returns a plain 404, indistinguishable from a project that doesn't exist. Turning sharing off leaks nothing about what's behind it.

Public sharing changes who may open the link, not how the bundle is served: a visitor is issued the same short-lived, project-scoped pass a signed-in member gets, so one shared design system can never reach another project's work.

For Everyone Who Reviews Work

Publishing is a desktop action, but viewing is not. Anyone on your team can open the hosted Storybook in a browser, no app to install, no repo to clone, no local build to babysit.

A published Storybook served at a private per-team URL
The published Storybook, served from a private per-team URL.

Portable

Hosted Storybook runs on Spektral's cloud out of the box. For teams that need everything inside their own perimeter, the same publishing and private-viewing model runs self-hosted against your own storage, no third-party services required.