Skip to content
ChiefVenzox edited this page Jun 5, 2026 · 2 revisions

NotebookFlowKit Wiki

NotebookFlowKit is a lightweight Swift Package that turns JSON-defined flows into native SwiftUI screens.

It is designed for onboarding, surveys, quizzes, setup wizards, and learning flows that are authored outside the app, especially in Python or Jupyter notebooks.

Core Idea

  1. Define a flow in Python, Jupyter, or plain JSON.
  2. Export it as a JSON file.
  3. Add the JSON file to an iOS or macOS app bundle.
  4. Render it with NotebookFlowView.
  5. Receive collected answers through a completion callback.
import NotebookFlowKit

NotebookFlowView(fileName: "starter_flow") { result in
    print(result.answers)
}

What It Supports

  • iOS 16+
  • macOS 13+
  • Swift Package Manager
  • Native SwiftUI rendering
  • JSON loading and validation
  • Flow state management
  • Completion callback with collected answers
  • Basic built-in theme
  • No external dependencies

Screen Types

  • text
  • choice
  • multiChoice
  • input
  • completion

Key Features

  • Linear navigation with "next": "screen_id"
  • Conditional navigation with route maps
  • Progress indicator
  • Typed answer helpers
  • Python/Jupyter helper for JSON export

Wiki Pages

Links

Clone this wiki locally