Skip to main content

Introduction

Metapages is an open-source platform for building composable, browser-native workflows. Connect visualizations, compute containers, and AI models through a declarative JSON graph — then embed the result in any web application or share it as a standalone URL.

Built for:

  • Scientists building reproducible data pipelines and interactive figures
  • Web developers building modular dashboards and data applications
  • Platform builders embedding interactive computational components

Core model

A metapage is a JSON-defined graph of metaframes — each metaframe is a URL pointing to a web application. The metapage library runs in the parent document, loads each metaframe as an iframe, and routes data between them via structured postMessage. No server coordination required.

{
"version": "2",
"metaframes": {
"data-source": { "url": "https://random.mtfm.io/" },
"chart": {
"url": "https://plot.mtfm.io/",
"inputs": [{ "metaframe": "data-source", "source": "data", "target": "data" }]
}
}
}

Key capabilities

  • Any language via Docker — run Python, R, Julia, or any container as a metaframe; inputs and outputs are files on disk
  • Embed anywhere — one npm import renders a full metapage in your React or vanilla JS app
  • URL-parameterized — metapages act as functions: URL params propagate into metaframe URLs, enabling configurable deployments
  • Real-time streaming — every metapage has a WebSocket broadcast channel for low-latency event passing between containers and frontends
  • Config as codemetapage.json defines the entire workflow; version it, fetch it, generate it programmatically
SectionWhat's there
QuickstartRender a metapage in under 5 minutes
ArchitectureHow metaframes, data flow, and the JSON config work
BuildSDKs for JavaScript, React, and Docker containers
DeployRun and scale container workers
ReferenceJSON schema, REST API, SDK method reference
ExamplesAnnotated workflow examples