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
host shell, static fragment, own realm
B · Everything the CDN serves
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
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.