HUDSON
v0.1 — Source-available under FSL-1.1-MIT

Build rich, composable,
canvas-friendly,
AI-powered web apps.

Hudson is a shell and primitives library for composing canvas workspaces and single-app dashboards. Provider + Slots + Hooks — apps own state, the shell renders chrome.

Open the WorkspaceRead the Docsbun add @hudsonos/sdk
Live / Interactive

The workspace, running inline

Click to interact
Space + drag to pan
Scroll to zoom
The Pattern

Provider + Slots + Hooks

  • Apps own their state

    Each app is a React Provider. The shell nests providers and renders slots.

  • Slots, not prescriptions

    Apps declare what they want in the nav, side panels, overlays. The shell composes.

  • Strict TypeScript interface

    Implement HudsonApp and you get chrome, windows, intents, and AI for free.

The Primitives

Canvas · Windows · Chrome

  • Canvas workspace

    Pan, zoom, and windowed apps on an infinite plane. Or static panels for dashboards.

  • Built-in AI + terminal

    Bottom drawer ships with Hudson AI and an embedded PTY terminal.

  • Keyboard-first

    Command palette, focus model, hold-space pan — designed for power users.

One interface, everything wired

Define a HudsonApp, get the rest.

A single object plugs your component into the workspace — menu, intents, settings, AI capabilities. No shell code to write.

notepad.app.ts
import { defineApp } from '@hudsonos/sdk';

export const notepadApp = defineApp({
  id: 'notepad',
  name: 'Notepad',
  icon: NotepadIcon,
  Provider: NotepadProvider,
  useContent: useNotepadContent,
  useNav: useNotepadNav,
  intents: notepadIntents,
}});
Two shells, same primitives

Pick the chrome that fits.

AppShell
Single app
Single app. Full chrome.

For most consumers. A polished frame around one HudsonApp — nav, sidebar, status bar. Use when you're shipping a focused tool.

WorkspaceShell
Multi-app
Multi-app canvas.

Infinite pan/zoom plane with windowed apps. Used by Hudson's own /app route. Use when the interface is the environment.

Interested?

Hudson is shipping in the open.

If you're thinking about building on Hudson — or just want to follow along as the SDK, workspace, and primitives come together — drop your email. We'll reach out when something worth your attention ships.

No spam. Updates only when something real lands.