Multiplayer The factory - Run every clone you have built from one place

Start cloning
Talk to us
Flowcharts
Marketing sites
Forms
Landing pages
Whiteboards
Docs sites
Sheets
Storefronts
Task managers
Portfolios
Text editors
Agency sites
Presentation tools
Directories
Flowcharts
Marketing sites
Forms
Landing pages
Whiteboards
Docs sites
Sheets
Storefronts
Task managers
Portfolios
Text editors
Agency sites
Presentation tools
Directories

One database, every tenant.

Each clone is a tenant with its own site_id. They share one Postgres and stay isolated by row-level security, so a studio running twenty sites pays for one database.

Deploy wherever you already are.

  • Vercel

    The default target. Production alias on every deploy.

  • Cloudflare

    Static output, served from the edge.

  • Self-hosted

    Run the pipeline and serve the build on your own box.

Isolation, audited

Policies are checked after every migration — one permissive rule defeats all scoping.

Tenant registry

Every deploy upserts the site into the registry, with its URLs.

Per-site admin

Each tenant gets its own admin login, scoped to its own content.

One-command redeploy

Rebuild and re-alias any tenant without leaving the CLI.

Shared modules

Chat, analytics and CMS are wired per tenant from the same codebase.

Version history

Every slot edit is timestamped, so you can see what changed and when.

Idempotent deploys

Re-running a tenant reuses its capture and only rebuilds what changed.

One database behind every site you ship.

Tenants share a single Postgres and stay isolated by row-level security, so the cost of the tenth site is the same as the second.

Built for many sites at once.

  • Shared Postgres

    One project holds every tenant, keyed by site_id.

  • Composite keys

    Natural-key tables are keyed per site, so slugs can repeat across tenants.

Content lives in your database

Slots, media and theme are rows you own — not a hosted CMS you rent.

Tenants

Each tenant deploys to its own domain, from one shared codebase.

A CLI for the whole fleet

List, inspect, redeploy and open any tenant you have built.

  • Status

    xray factory status <site>

  • Redeploy

    xray factory redeploy <site>

  • Open

    xray factory open <site>

  • Dashboard

    xray factory dashboard

  • List

    xray factory list

Row-level security

Every admin sees only its own tenant. Verified after each migration.

Built to scale sideways

Adding a tenant is one command and no new infrastructure.

A CLI you will actually use.

Every stage is runnable on its own , so a failed capture resumes where it stopped instead of starting over — and every flag has a sane default .

Read the docs
Browse the factory
Pierre
Stacy
import { Cursors } from "xra/ui";
function App() { return ( <Cursors> {children} </Cursors> );}

More than one site at a time.

Rebuild, rebrand and ship, and keep the code in one command. Take a site from capture to production in hours, not sprints .

Point XRA at a URL and get the codebase back

Start cloning
Talk to us