// pro brainers · build on brains

Brains, but you write the program.

Pro Brainers customize their workspaces in code. Spawn automations that read your brain, call any LLM, write to boards, and fire integrations — sandboxed, with cost caps, and human-in-the-loop for risky writes.

cron + page triggers any LLM read/write boards 200+ integrations mini-sites + dashboards
// 01automations

Sandboxed programs that run on your brain.

Automations are triggered periodically or on new brain memories. They can read and write to boards, trigger LLM calls with full brain context, and call integrations directly. Sandboxed by default, with cost caps and an audit log on every call.

// docs · automations

One program. Four superpowers.

Inside an automation you have four handles — brain, boards, llm, integrations — wired into the same MCP your team uses. Compose them however the work demands. Cost is metered per call and per run; exceed your cap and the run stops cleanly.

  • Read the brain — vector + full-text + graph, the same Claude sees
  • Read/write boards — append, update, score, archive rows
  • Call any LLM — Anthropic, OpenAI, Google, local — with cost caps per call
  • Call integrations — Gmail, Drive, Calendar, Slack, GitHub, and 195 more
  • Sandboxed — no ambient FS, network, or env; scopes declared in the manifest
// automation.tsrunning
// pull last week's Acme touches from your memory const ctx = await brain.query({ text: "acme partnership last week", limit: 8, since: "7d", }); // draft a status line for Slack const reply = await llm.complete({ model: "claude-opus-4-7", prompt: "Summarize what we owe Acme by Friday.", context: ctx, max_tokens: 300, });
// cost cap $0.02 / call · $1.00 / run · $5.00 / day
// 02memory triggers

Run when new things land. Not on a clock.

Cron is a fine trigger. But sometimes you want an automation to fire when reality changes: a new email from a customer, a calendar event tomorrow, a PR opened on this repo. Memory triggers subscribe to your brain itself.

// docs · triggers
// triggersarmed
cron every Mon · 9:00 AM + 2d
memory new email · from = "@acme.com" + 12m
memory new calendar_event · within = 24h + 4h
hook webhook · github.pr.opened + 38s
↓ matched · automation fires ↓
Run · email-triage acme renewal2m
Run · meeting-prep acme · sarah4h

The trigger is a filter. The handler is your code.

Memory triggers are filters over your brain: a page kind plus zero or more frontmatter constraints. When a new page lands that matches, your automation runs once per match, with the page already passed in as input. Combine triggers freely — cron + memory + webhook in one program.

  • cron — fire on a schedule
  • memory — fire when a new page matches a filter
  • webhook — fire on an inbound HTTP request
  • Once per match — idempotency baked in; no double-fires on retries
  • Filter on frontmatter — sender, date window, tag, attendee, repo, anything you stamped at ingest
// 03boards + apps

Boards hold the data. Mini-apps live on top.

Every board is a typed dataset your team edits, your automations write to, and your dashboards visualize. Mini-sites turn that data into real web apps — dashboards, kanban, public forms, internal admin panels — published to a URL or embedded anywhere. One workspace, one database, one frontend.

// docs · boards

Each board is its own brain.

Every board carries a queryable memory shared by everyone on it — comments, attached docs, edit history, the decisions you made together. The hiring board knows every candidate conversation; the deal board knows every email touch; the project board knows every meeting decision. Common knowledge, ambient context.

  • Scoped per board — the hiring brain is separate from the CRM brain
  • Inherits permissions — owners, contributors, observers see only what their role allows
  • Queried like your personal brain — same retrieval, same MCP, same shape
  • Compounds — every edit, comment, call transcript, attached doc adds context for everyone on the board
// board: hiring-pipeline · brainshared by 4
Y"who did we talk to from Stripe?"
N"why was Jordan declined?"
M"any candidate with infra experience?"
↓ all reading from ↓
hiring-pipeline · brain
94 comments · 12 candidates · 31 docs · queryable

The board is the API.

Boards live in one place: your brain. Automations call append_board_rows, update_board_row, get_board, delete_board_row over MCP. The same row you write from code is the row your team sees in the UI a millisecond later.

  • append_board_rows — bulk insert with schema validation
  • update_board_row — patch a field, score a row, change status
  • get_board — query rows with filters, ordering, pagination
  • restore_board_row — undelete from the soft-delete window
  • list_board_form_responses — pull rows submitted via your mini-site form
// board: hiring-pipelinelive
▾ all interview offer + row
Sarah Chen @nina REVIEW 9 / 10
Marcus Lee @you OFFER 9 / 10
Jasmine Park+1 (agent) NEW 8 / 10
// automation appended 1 row · scored · 320ms
// hiring.mybrains.ai/m/pipelinepublished
your-team.mybrains.ai/m/hiring
Hiring Pipeline · Q3
live data from the board · public form below
// open12
// avg fit8.2
// new candidateJasmine Park
// fit score9 / 10
+ add to board

Mini-apps: one board, one web app.

A mini-site is a thin runtime that reads and writes the board it's attached to. Drop in a dashboard (kanban, charts, KPIs), a public form (collect rows from outside), an internal admin panel (full CRUD), or all three. Authenticated calls hit the same MCP your automations use, so the same access scopes apply.

  • Dashboards — kanban, table, charts — re-rendered on every board write
  • Public forms — collect new rows from the outside world
  • Internal admin — full CRUD with role-aware fields, history, undo
  • Embeds — drop into Notion, your marketing site, or a Slack canvas
  • Versioned — every publish is a revision; revert in one click
// dashboards

Pin a view. Share the link.

Kanban, cards, table, charts — pinned views over the same rows your team edits. Permissions cascade from the board, so private stays private.

// public forms

Collect rows from outside.

Drop a form on your marketing site, in a Slack channel, anywhere. Submissions land in your board as typed rows — ready for an automation to triage.

// versioned

Every publish is a revision.

Publish a new draft, see it diffed against the live version, revert in one click. Mini-sites version like code — because they are code.

// 04integrations

Reach into the tools you already use.

Two action shapes. fetch_from_integration pulls fresh data from Gmail, Drive, Calendar, Slack, GitHub, Stripe, and 195 more — and auto-persists it as pages. act_on_integration does writes: send an email, create a calendar invite, open a PR. Risky writes go through a two-phase draft → confirm → send flow. Every integration runs in a safe sandbox with only the scopes its manifest declares.

// docs · integrations
// act_on_integration → gmail.senddraft
1
// draft Draft to sarah@acme.com — "Re: revised pricing" draft_id: d-2f8a · expires_in: 1h · preview rendered
2
// confirm Show the draft. Wait for human approval. confirm_action(draft_id) — one-shot, idempotent
3
// send Delivered · message_id 18c1...e4f audit logged · cost $0.001 · 1.2s

Reads are cheap. Writes are reviewed.

Reads (fetch_from_integration) run inline — the result is persisted as a page and the automation continues. Writes (act_on_integration) mint a draft with a preview and a TTL; nothing leaves your brain until a human (or another automation with explicit confirm scope) approves it. Drafts are addressable across MCP, web, and Telegram.

  • fetch_from_integration — read fresh; results land as queryable pages
  • act_on_integration — mint a draft with preview + expiry
  • confirm_action — one-shot, guarded; double-confirm returns the existing result
  • auto-executed — read-only/reversible actions can skip the gate when configured
  • audited — every action logged with input, output, cost, latency

Build the workspace your team actually needs.

Automations, boards, integrations, and apps — running on your brain, with your keys.

Coming soon Read the docs