Build sheet · the homepage

How this page
is braided.

One page of plain files, six small apps, and no server anywhere. Here's every moving part.

Host
static files on a CDN
Gateway
none
Fragments
6
Adapter
contract
Realm kind
contract-blob
Piercing
off, nothing to pierce with

A · The page, as the browser sees it

Mastheadhost
index.html · plain HTML, paints first
01 · The problemblob realm
name="problem" · /f/problem/main.js
02 · Glossaryblob realm
name="glossary" · /f/glossary/main.js
03 · This page is braidedblob realm
name="braided" · /f/braided/main.js
04 · Promisesblob realm
name="promises" · /f/promises/main.js
05 · Get startedblob realm
name="start" · /f/start/main.js
06 · The parts binblob realm
name="parts" · /f/parts/main.js
Colophonhost

host shell, static fragment, own realm

B · Everything the CDN serves

/index.htmlthe host shell, six slots
/core.js@braidlabs/core
/f/problem/main.jsentry module
/f/glossary/main.jsentry module
/f/braided/main.jsentry module
/f/promises/main.jsentry module
/f/start/main.jsentry module
/f/parts/main.jsentry module

Each fragment could live on its own origin instead, with its own deploy. Point entry at an absolute URL and serve it with CORS.

C · The realm document, written in the browser

<!doctype html><meta charset="utf-8">
<title>Braid realm: braided</title>
<meta name="braid-protocol" content="2">
<base href="https://this-page/f/braided/">

→ new Blob([html], { type: 'text/html' })
→ URL.createObjectURL(blob)   blob:https://this-page/51d2…
→ iframe.src = blobUrl        read from memory, then revoked

The <base> is the entry's own folder, so a fragment's relative URLs go straight to wherever it's hosted.

D · Requests per fragment boot

0Realm document. Comes from a blob. Never touches the network or session history.
1Entry module. An ordinary, cacheable script request, evaluated inside the realm.
nWhatever it asks for. Chunks, styles and data, fetched from its own folder.

E · What's next

Serverless Braid is just the first step.

See what you can do with the Braid Gateway.

Painted before JavaScript.

The gateway adds each app's content to the page as it streams, so people see it right away.

Apps you can't change.

The compat adapter runs an unmodified Angular or React app, with zero code changes.

One address for every app.

Each app's files and API calls go through /__braid/frag/:id/ on your own site. Nothing collides, and there's no CORS to set up.

A registry you can roll back.

Locked snapshots of which apps go where, browsable in the console and reversible in one step.