Skip to content
Stepwik

Labs

Labs overview

What labs are, how they are structured in Stepwik, and best practices for engaging interactive labs.

A lab is a structured, step-by-step interactive guide that leads a learner through a concrete task, such as installing a tool, building a feature, or completing a workflow. Unlike static documentation, labs present content one step at a time, keeping learners focused and reducing cognitive load.

Learners open a published lab at /labs/{slug} and move through steps with Next and Prev. See Take a lab for the full learner flow.

What makes up a lab

Every lab on Stepwik follows the same structure:

  • Title: a short, action-oriented headline (e.g., "Deploy a Node.js App to Fly.io")
  • Description: a brief summary shown in search results and on the lab card
  • Steps: the core of the lab; each step has its own title and rich content area where you add text, code blocks, images, or embeds

Labs vs. courses

Lab Course
Scope Single topic or task Organized collection of labs
Structure Title → Steps Title → Modules (each module is a lab)
Completion Per-lab progress Course-level progress and certificate (Org)
Plan required Free and above Pro and above

Use a lab when you're covering one well-defined task. Use a course when you want to group multiple labs into a learning path, for example an onboarding sequence or a certification program.

Visibility options

When you publish a lab, you choose who can access it:

  • Public: discoverable via search and shareable by link; no sign-in required
  • Unlisted: accessible only by direct link; not indexed by search engines (Pro+)
  • Private: visible only to you and collaborators with explicit access (Pro+)
  • Draft: not yet published; only visible to you and co-authors in Studio

See Publish and share for embed, SEO, and unpublish details.

Best practices for structuring a lab

Keep steps short and focused. Each step should accomplish one thing. If a step requires more than a few paragraphs, consider splitting it.

Write clear step titles. Use action phrases like "Install the CLI", "Configure your environment", or "Run the first query". Learners scan step titles to orient themselves.

Include code examples for every command. Use code blocks with language tags so syntax highlighting works correctly. Don't ask learners to type commands from memory.

Open with context. The first step should explain what the learner will accomplish and what they need to have ready (prerequisites, tools, accounts).

End with a summary step. Recap what was built or configured and point to logical next steps or related labs.

Studio Labs list

In Studio → Labs you manage:

Tab / action Purpose
Published / Draft Filter by status
Pending review Moderation queue (when enabled)
Create Blank lab
Generate with AI GitHub, PDF, or Google Slides
Edit Open the editor
Settings Title, tags, cover, and more
History Per-section Document versions
Stats Per-lab analytics
View Studio preview of the learner experience

Lab lifecycle

  1. Draft

    Create blank, generate with AI, capture with the Chrome extension, or import a private draft via MCP.

  2. Author

    Structure steps in the Studio editor; invite co-authors if needed.

  3. Configure

    Set lab settings (level, tags, cover) and visibility.

  4. Publish

    Publish immediately, or request review in moderated orgs.

  5. Improve

    Use stats, version history, and AI Rewrite.

Image preview

Scroll to zoom · Drag to pan · Double-click to toggle · Esc to close