Skip to content

Channel engines

Advertising, Pinterest, YouTube, TikTok — each was once going to be its own dashboard with its own logic. Read side by side, they turned out to be the same machine. Every channel is a three-gate funnel, and the job is identical everywhere: find which gate is leaking, choose a lever, predict what it will do, do it, and next cycle measure the difference and learn.

Reach Engage Convert
Advertising Impressions Clicks Orders
Pinterest Impressions Saves Outbound clicks
YouTube Impressions Views Watch-through
Short video Reach Watch-through Saves / follows

Only the metric names and the set of levers change. So the loop is built once, and each channel plugs in a domain pack: its metrics, its levers, its creative anatomy (what a good pin, thumbnail, or hook looks like), and its playbook.

  • Create and tune — Pinterest, YouTube, short video. You produce new creative every cycle and tune what is live. Runs the whole loop, including production.
  • Tune only — advertising. There is no creative to make; the unit of decision is an existing entity (a keyword, a bid, a budget) that you adjust. The loop runs predict → execute → measure → learn directly on what is live.
flowchart LR
  SG["Signals<br/>research, trends, our own outperformers"] --> ID["Ideas<br/>decide what to make or change"]
  ID --> CT["Content<br/>produce it"] --> PO["Posted<br/>predict vs actual"] --> PT["Patterns<br/>what works, on the ledger"]
  PT -. outperformers become signals .-> SG

Every stage produces the same object: a decision — a forecast plus an action, whether the action makes something (a pin, a video) or tunes something (a bid). Decisions land in one ledger, the surfaces read it, and next cycle the forecast is scored against what actually happened. That calibration — how often the engine’s predictions come true — is the spine of “getting smarter” on a channel.

Ideas have several parents, and not all of them are data: a signal promoted from research; a destination batch (“make twelve pins for this lead magnet”); a gap on the coverage board (which audience × angle × hook combinations have never been tried); or you saying “make this.”

A channel engine mostly runs on a schedule — it ingests the channel’s signals, diagnoses, and proposes. Proposals arrive in a conversation like anything else (Schedules & triggers). Making creative goes through the usual flows and the usual review; tuning a live entity is an action through the channel’s connection with its permissions. Nothing posts, pauses, or spends without the decision being visible.

Each channel’s cockpit has the same eight views — overview, signals, ideas, content, posted, patterns, data, playbook — so learning one channel teaches you all of them. A tune-only channel simply greys the creation stages.

live The advertising cockpit runs the engine in production. direction The shared core is generalised from it; Pinterest exists as an earlier cockpit being brought onto the shared shape; video channels are designed. The interactive channel-switchable design is the build target.

Sources: docs/architecture/channel-engine.md · Last verified 2026-09-15