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.
The workspace, running inline
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.
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.
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.
import { defineApp } from '@hudsonos/sdk';
export const notepadApp = defineApp({
id: 'notepad',
name: 'Notepad',
icon: NotepadIcon,
Provider: NotepadProvider,
useContent: useNotepadContent,
useNav: useNotepadNav,
intents: notepadIntents,
}});Pick the chrome that fits.
For most consumers. A polished frame around one HudsonApp — nav, sidebar, status bar. Use when you're shipping a focused tool.
Infinite pan/zoom plane with windowed apps. Used by Hudson's own /app route. Use when the interface is the environment.
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.