The dashboard was the workaround

Dashboards existed so a human could operate a site's data by hand. Once your agent is the operator, the workaround can go. What remains is an agent-operated website platform.

Pixel-art Bobbin planting a violet flag on fresh ground

Every website platform you have used was built around one workaround. The workaround has outlived its reason.

What makes one site different from another is data: settings, content, templates, layout, menus. The engine that renders it is code. Data needs an operator, and for thirty years the operator was a person, so every platform built what a person needs to change a database by hand: a form over every table.

A capable agent reads a schema, writes a record, checks the result, tries again. Once the operator is an agent, the dashboard becomes a tax: a second surface to secure, a second place for the truth to drift, a confirmation gate between intent and result.

The dashboard is not what a website platform is. It is what a website platform had to be while humans ran it.

Delete the workaround. Don’t wrap it.

We call what remains an agent-operated website platform. Website platform, not content system: the deliverable is a finished, hosted site, not data with the frontend left as an exercise. Agent-operated, not generated: your own agent stays on the job after launch, instead of emitting code once and handing a person the wheel.

Spun is the agent-operated website platform. No dashboard. We never built one. Not one controller for content in the engine, one surface for writing it, nothing to fall back to.

How it works, in one sentence: the wire is MCP, and Claude Code is our reference client. The category is not the wire. It is who holds the other end.

A category is only useful if it excludes things

Five conditions, each visible in our code today.

  1. The agent is the sole surface, from the first second. A stranger’s agent connecting to Spun sees one tool: sign_up. It creates the account and starts authoring. The human touches a browser once, to verify an email.
  2. The agent authors the look, not just the words. Layout, page and block templates live in the database beside the content. The agent invents a new block type at runtime by declaring a schema. A restyle is a write, not a deploy.
  3. Nothing unrenderable is stored. Nothing that fails to render is published. More on that below.
  4. The output is a finished website. Its own origin on day one. On a paid plan a custom domain is one CNAME and one verification call; the first successful check is go-live, certificate included. Sitemap, robots, feed, social cards and site search come from the engine.
  5. Your own agent, your own key, a flat fee. Spun makes zero calls to any language model. The intelligence is yours, so an edit costs the platform nothing. We meter sites, not edits, on every plan, the free one included.

Membership is not “an agent can write to it.” Membership is that nothing else can.

Guardrails belong in the engine, not in your calendar

The objection is always the same: what if the agent breaks my live site? The industry’s answer is a human confirming every write. That concedes the point: the platform cannot tell a good change from a broken one, so a person has to. A gate on every write turns delegation back into supervision.

Templates on Spun are strict Liquid: an undefined variable is an error, not a blank. A template that would not render is refused the moment it is written. A publish that would not render rolls back. Deleting a template others include, or restoring a revision that would break a page, is refused, and the refusal names what would break. Every error carries the template key and the line. The engine does not ask the agent to be careful. It declines the write and says why.

Visitors see only the last published revision; editing a live page changes nothing until the next publish. A signed preview link, good for 24 hours, shows you the whole draft site first. Every publish is a revision, and restore checkpoints the present before reinstating the past. The worst case is one revision away.

Which leaves the human two jobs: say what you want, and approve the publish.

What it is not

The workaround got two workarounds. One keeps the dashboard as the control plane and lets an agent press its buttons: a remote control in a room whose rules were written for hands. The other hands your agent a repository per site to scaffold, deploy and keep deploying: the maintenance tax with an agent-shaped face.

We are neither. And so nobody buys the wrong thing: Spun assumes a competent agent operator. No vendor-run agent, no hand-holding interface. If you need a person to click, we are the wrong shelf for now.

Why now

Agents became operators. In under a year the industry converged on one model: your agent, in your client, driving a platform’s tools. Every platform wrapped the workaround. None deleted it, because deleting the dashboard means abandoning the installed base that pays for it. Nobody, as far as we can find, has said the name out loud.

Own one site, and maintenance becomes a sentence you say; the hundredth change costs what the first one did. Build sites for others, and you no longer own a codebase per client.

The proof is the page you are reading. spun.ink runs on the same engine: its pages, templates, navigation and this blog are rows in the tables every customer’s site lives in. Otherwise the name would be a slogan. It is a description.

The manual for your agent is at /docs. The door is /signup. Point yours at it. The workaround had a good run. We never shipped it.