Skip to content

Application Types ​

Skuilder's modular architecture supports several deployment patterns. This page provides an overview of the available application shells.

Standalone UI ​

The primary consumer application. This is what the skuilder CLI scaffolds and what the dev quickstart walks through.

Features:

  • Single-course deployment
  • Flexible data layer options:
    • Static: No backend — browser-local user data (IndexedDB), bundled course content
    • Dynamic: CouchDB backend with user login and cross-device sync
    • Hybrid: Mix static course content with dynamic user accounts
  • Static deployment (CDN, GitHub Pages, Netlify, etc.) or server-hosted
  • Offline-capable after initial load
  • Full support for default card types and custom extensions

Use when: Building and distributing a course. This is the default path for most users.

Package: @vue-skuilder/standalone-ui

Platform UI ​

Experimental

Platform UI is under active development. APIs and features may change.

A multi-course platform shell aimed at:

  • Course aggregation and discovery
  • Community authoring tools
  • User accounts and authentication
  • Cross-device sync via CouchDB backend
  • Progress tracking across multiple courses

Think of it as a wrapper that hosts multiple standalone courses with shared user infrastructure.

Use when: Building a learning platform, SaaS product, or community resource that aggregates multiple courses.

Package: @vue-skuilder/platform-ui

Tuilder ​

Feature Incomplete

Tuilder is a proof-of-concept. It lacks core functionality and is not suitable for study sessions.

A terminal-based interface experiment. Currently supports:

  • User authentication
  • Course metadata inspection
  • Basic navigation

Does not support:

  • Rendering default skuilder cards
  • Study sessions
  • Most card interactions

Use when: You're curious about TUI possibilities or want to contribute to its development.

Package: @vue-skuilder/tuilder

Choosing an Application Type ​

For most use cases, start with Standalone UI. It's the most complete, best documented, and what the CLI tooling targets.

ConsiderationStandalone UIPlatform UITuilder
Recommended✅ YesExperimentalNo
Backend requiredOptionalYes (CouchDB)No
User accountsOptionalYesYes
Study sessions✅ Full✅ Full❌ None
Default cards✅ Full✅ Full❌ None
Static deployment✅ YesNoN/A
Dynamic backend✅ Yes✅ YesPartial

Building Your Own ​

The application packages consume shared libraries:

  • @vue-skuilder/common-ui — Reusable Vue components (StudySession, card renderers, etc.)
  • @vue-skuilder/courseware — Course content bundling and loading
  • @vue-skuilder/db — Data layer abstractions

You can build a custom application by:

  1. Selecting a data layer implementation (couch or static)
  2. Composing UI components from common-ui
  3. Integrating with your own navigation, authentication, and chrome

See the quickstart for a guided example using Standalone UI as a starting point.