The shell Studio runs on

Desktop Framework

Ship a plugin-based desktop app without building the engine. The shell Spirefy Studio runs on, a native window with a WebAssembly plugin engine compiled in, is a framework we give away.

What it does
01

The shell, ready to build on

A native window, the operating system's WebView, and the app chrome: menu bar, status bar, and main layout, with the React runtime that draws them built in.

02 A plugin engine in the host
Wasmtime compiled into the process. Your app's features load as sandboxed WebAssembly plugins against typed WIT interfaces.
03 Capability gates
Plugins declare the network hosts and filesystem paths they may touch, and the host enforces those grants at the boundary.
04 One process, not two
The WebView and the native host share a process, so calls cross through direct WebView primitives instead of JSON serialized between processes.
05 Record and replay
Every UI action crosses the bridge as a typed, timed call, so a recorded session replays as a demo, a tutorial, or an automated UI test.
06 An activity log
A structured record of what the app and its plugins did, built into the shell from day one.

Build the app, not the engine

Spirefy Studio is one app built on this framework, and the framework is a part we give away. You start from a working shell: the window, the WebView, the chrome, the bridge, the plugin engine, and the capability gates, then write your features as plugins. Your app gets the same engine, the same plugin format, and the same WIT contracts Studio uses.

Who it is for

Teams who want a desktop app composed from plugins: pages, panels, and tools that mount into the shell’s slots and coordinate through a shared event system, fully decoupled. If you want third parties to extend your app someday, or you simply want clean internal boundaries now, the architecture arrives with the shell.

Plugins are the portable part

A plugin binds to a typed WIT interface, not to an application, so a capability built for your app runs anywhere that interface exists. The spirefy CLI scaffolds, builds, validates, packages, signs, and verifies plugins for your app the same way it does for Spirefy Studio’s.

Where it stands

Building a plugin-based app on the Zig framework is the supported path today; it is exactly what Spirefy Studio itself does. Embedding the engine inside a Rust, Go, or C program through a stable C ABI is on the roadmap, and we want to lock that surface down before exposing it. Plugins are the polyglot part: WebAssembly written in Zig and Rust now, with more languages reachable as the toolchain matures. The embedding docs keep the precise status.

Start from a working shell.

Read the embedding docs, write a feature as a plugin, and see how far the framework takes you before you write any engine code.