modModular Open Design
Free · open-source · host-agnostic

Modular Open DesignAll the building blocks you need — for this project, and every project you build next.

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.

Explore the catalogue → Browse all modules
import { createMail } from "@platform-modules/mail"

Early preview — 21 packages are built and versioned at v0.0.1; a public release is in progress.

A stable contract on the outside. Freedom to optimize on the inside.

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

Not another bloated library

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.

Edge-first, no lock-in

Server-facing modules use web-standard Request/Response, explicit runtime boundaries, and no import-time side effects.

Install only what you need

Packages adopt à la carte, so uploads, ledger, search, billing, realtime or helpdesk can land independently.

Providers behind adapters

Integrations can be swapped or optimized without leaking vendor clients through the public API.

Frameworks stay optional

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.

Small by default

Foundation modules keep zero or near-zero runtime dependencies, and packages keep peers external instead of smuggling a second platform into your app.

Boilerplate without the trap

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

Small surface area, serious defaults

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.

Clear inputs

Modules fail predictably on bad or incomplete data.

Graceful fallbacks

Optional providers, missing data, and unavailable host features have defined behavior.

Safe write paths

Retries, duplicate requests, destructive actions, and partial failures are handled deliberately.

Security by default

Auth, sessions, uploads, and money-adjacent flows keep trust checks close to the module.

Accessible components

The UI kit ships accessible behavior — focus, keyboard, and state handling — instead of making each app rediscover it.

Hardened critical flows

Payment, refund, session, and password logic preserves known-good protections.

What you can build

Common backend capabilities, à la carte

Cover the capabilities most apps need without carrying the whole stack — adopt one group or many.

Accounts & tenants

authtenancy

Operations & messaging

jobsmailnotifications

Commerce & money

billingledgertax

Content features

uploadssearchseoairealtime

User interface

i18n-reactrealtime-reactui-tokensui-primitives

Composite bolt-ons

marketinghelpdesk

Built for agents

Adoptable by AI, not only by people

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

Five ways to see the catalogue

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.

Reference table

The Module Table

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 →
Architectural drawing

The Blueprint

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 →
Network map

The Transit Map

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 →
mod ❯ ls
L1 · core infrastructure
● auth    10 caps
● mail    4 providers
mod ❯ _
Command line

The Explorer

Browse the catalogue like a shell. ls, info, preset, tree — keyboard-driven, every name clickable.

Best for · power-browsing + composing Open explorer →
Radial system

The Orbital Map

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 →