Stable, headless, swappable TypeScript packages. Each one gives your app a single focused backend capability through a typed API that stays stable while the implementation underneath is free to be optimized, replaced, or pointed at a different provider.
Install à la carte — not adopted as a framework. Built for any host: serverless edge, a self-hosted Node server, a container, or anywhere else, with whatever framework, provider, and validation library you already use.
Early preview — 21 packages are built and versioned at v0.0.1; a public release is in progress.
Direct, simple code within each package; a typed, predictable boundary around it — typed inputs and outputs, explicit errors, no hidden framework, and no bundled provider client unless that integration is the whole point. Behavior stays predictable under fallback and edge inputs.
Why mod
Most backend libraries ask your app to accept their stack — their router, their runtime, their provider SDK, their upgrade path. mod moves the other way: each package is a narrow, headless primitive you adopt without turning your app into a framework migration.
Server-facing modules use web-standard Request/Response, explicit runtime boundaries, and no import-time side effects.
Packages adopt à la carte, so uploads, ledger, search, billing, realtime or helpdesk can land independently.
Integrations can be swapped or optimized without leaking vendor clients through the public API.
Core modules stay headless TypeScript. React arrives as opt-in sibling packages — i18n-react, realtime-react — plus an accessible, themeable UI kit (ui-tokens, ui-util, ui-primitives). A backend-only app pulls none of it.
Foundation modules keep zero or near-zero runtime dependencies, and packages keep peers external instead of smuggling a second platform into your app.
Start a new app with production-shaped backend modules, then swap providers, frameworks, or host policy without rewriting the app around a giant kit.
The floor
mod is minimal above the line, not below it. Packages avoid framework weight and broad dependency trees — but never skip the parts that make backend code dependable in a real app.
Modules fail predictably on bad or incomplete data.
Optional providers, missing data, and unavailable host features have defined behavior.
Retries, duplicate requests, destructive actions, and partial failures are handled deliberately.
Auth, sessions, uploads, and money-adjacent flows keep trust checks close to the module.
The UI kit ships accessible behavior — focus, keyboard, and state handling — instead of making each app rediscover it.
Payment, refund, session, and password logic preserves known-good protections.
What you can build
Cover the capabilities most apps need without carrying the whole stack — adopt one group or many.
Built for agents
Every capability is discoverable and callable from its types, its generated declarations, and a machine-readable manifest of exports — with typed inputs, outputs, and errors, uniform packaging across modules, and a behavioral test per export that doubles as a usage example. An agent that has learned one package can adopt and wire any of them.
Explore
The same product data — every module, its importable capabilities, providers, presets, and how it assembles into a running app — told through five different visual languages.
A periodic table of modules, grouped by foundation layer. Built for scanning the whole catalogue and drilling into any module's capabilities fast.
Best for · the full catalogue + capabilities Open table →The stack as a structural drawing — layers are floors, modules are rooms. Select one to trace the foundations it rests on.
Best for · hierarchy + dependencies Open blueprint →A metro map of the platform — layers are zones, modules are stations, presets are colored routes you can trace through the network.
Best for · presets + how modules connect Open map →Browse the catalogue like a shell. ls, info, preset, tree — keyboard-driven, every name clickable.
Best for · power-browsing + composing Open explorer →Modules in orbit — foundation at the centre, each ring out a higher layer. Light up a preset constellation to see what groups together.
Best for · the big picture at a glance Open orbital →