PLAIN ENGLISH

GLOSSARY

Every platform invents words. These are ours, and what each one actually means — so you can read the rest of this site, and the app, without guessing.

THE PLATFORM

The pieces, and which machine each one runs on.

Brood

A platform for building web apps visually and running them on hardware you own. It comes in two halves: Mother, the builder that runs on your machine, and the Host, the runtime that serves your site.

Mother

The desktop app you build in — pages, collections, workflows, media, publishing, and the list of your machines. There is no browser builder; the authoring tool lives on your computer.

Host

The runtime that serves your site: one Docker unit carrying a Next.js server, Postgres, a background worker and object storage. It keeps serving whether or not anything of ours is reachable.

Control plane / data plane

The two halves, kept apart on purpose. The control plane holds accounts, projects and metadata. The data plane is your Host, and it holds the actual content — which is why we cannot read it.

Tunnel

The encrypted connection between Mother and a Host. The Host dials out, so nothing has to be exposed to the internet for the builder to reach a machine behind a router.

Pairing

Attaching a Host to your account. You mint a short code, redeem it on the machine, and the machine's secret is created there — it is never stored on our side.

Machine

A computer running a Host: your laptop, a rented VPS, a box in a rack. One machine can carry several projects.

CLI

The brood command-line tool. It installs a Host on any server with Docker, pairs it, and operates it afterwards.

MCP

Model Context Protocol — the interface an AI agent uses to work on a Brood project. You bring your own agent and your own key; Brood does not resell inference and has no built-in AI builder.

BUILDING

What a page is made of, and how styling is organised.

Page

One address on your site and the tree of blocks that renders there. A page can also be a template that renders once per record in a collection.

Block

The unit a page is built from — a section, a heading, an image, a form field, a collection list. There are 49 types.

Class

A named bundle of styles you attach to blocks. Edit the class and every block wearing it changes. Styling in Brood goes through classes rather than into one-off per-block values.

Combo class

A base class plus a modifier, worn together. A button that is also ghost gets its own rule without anyone duplicating the button.

Breakpoint

A viewport width you lay out for. The cascade runs one way — what you change on a narrow screen never leaks back into the wide one.

State

Hover, focus, active, visited and four more. A state is styled like any other set of properties, on the class rather than on the block.

Component

A subtree of blocks you saved to reuse — a header, a card, a pricing row. Change the definition and every placement follows.

Instance

One placement of a component on a page. It stores only what it overrides, so the shared part stays shared.

Variant

A named alternative inside a component — a different look, or different content — chosen per instance.

Slot

A deliberate hole in a component that each instance fills with its own blocks.

Code component

A React component you wrote yourself, bundled and pushed into the project. It mounts in the browser as an island, and it exports into ordinary .tsx like everything else.

Interaction

A trigger — click, hover, scroll — wired to something that happens on the page.

DATA

How content is modelled, stored and read back.

Collection

A content type: posts, products, machines, whatever you are modelling. Underneath it is a real Postgres table with typed columns, not rows in a blob.

Dynamic DDL

How that is possible. Creating or changing a collection issues real schema statements against the database, so indexes, constraints and foreign keys are Postgres's own rather than an imitation of them.

Field

One typed column on a collection. 29 types, from plain text through images and relations to values the server computes for you.

Record

One row of a collection. Records can be soft-deleted and restored, and each carries a published flag of its own.

Relation

A link from one collection to another, one-to-many or many-to-many. The junction table is created and maintained for you.

Computed field

A value the Host keeps up to date: a formula over the record itself, a lookup through a relation, or a rollup over the records that point back at it.

Token

A placeholder like {{title}} written into a text, a link or an image source. It resolves to the current record's value wherever the block renders.

Collection list

The block that repeats one piece of design once per record. You design a single item; the list renders all of them, sorted, filtered and paged.

Site user

Someone with an account on the site you built — a member, a customer, a client. Not the same as a person on your team: site users get roles, groups and per-collection read policies.

SHIPPING AND OWNERSHIP

Getting a change live, undoing it, and taking the whole thing with you.

Draft and published

Two states every project is in at once. Edits land in draft; visitors see published. Nothing reaches the public by accident.

Publish

Promoting the whole draft to live in one move. The previous state is snapshotted first, so the step is reversible.

Snapshot

A restorable copy of the project's state. Publishing takes one automatically; you can also take one by hand before something risky.

Staging

A second copy of the site on the same Host, for looking at a change before the public does. The interface always says which one you are publishing to.

Eject

Compiling the project into a standalone Next.js and Drizzle repository — pages, styles, schema, migrations and data — with no Brood packages in it and nothing to phone home to. Free on every plan, with no notice period and no export fee.

Self-hosting

Running the Host yourself. There is no managed option and there is not going to be one: if we ran it, we would be holding your data, which is the thing this platform exists to avoid.