Headless Is the Head
#scsiwyg#devlog#developer-tools#headless
David OlssonThere's a joke in the name.
"Headless" in web architecture means a backend with no frontend attached — an API that serves content to whatever consumer decides to render it. Headless CMSes, headless commerce, headless everything. The head is your problem.
scsiwyg is headless. A blogging platform with no editor.
The irony: a tool built for writing has no writing interface.
The deeper point: that's exactly right.
what headless actually means here
Most blogging platforms are built around the assumption that writing happens in the browser. You log in, click New Post, type into a box. The platform's job is to give you a place to write.
scsiwyg rejects that assumption.
Not because browser-based editors are bad. Because developers already have a writing environment — their IDE — and it's better than any CMS editor that will ever exist. It has syntax highlighting, autocomplete, version control, every extension they've spent years configuring, and an AI assistant that can draft prose and publish it in the same session.
The head already exists. It just isn't scsiwyg.
Being headless isn't an absence. It's a decision about where the head belongs.
appropriate integration
The term in software is "integration at the right layer."
A tool that integrates too high — imposing its own UI, its own editor, its own mental model — asks you to work in its environment. You have to go to it.
A tool that integrates at the right layer slots into the environment you already have. It does one thing, exposes that thing as an API, and stays out of the way.
scsiwyg integrates at the API layer. POST a JSON document, get a published post. That's the whole contract.
From there, the head can be anything:
- A curl command from the terminal
- A script in your build pipeline
- An MCP tool called by an AI IDE mid-session
- A CI/CD hook that publishes a changelog on deploy
None of those require a browser tab. All of them are already part of how developers work.
the MCP case makes it obvious
When scsiwyg became an MCP server, the headless design stopped being an architectural choice and became a feature you could feel.
The agent you use to write code can now call publish_post without context-switching, navigating, or authenticating through a UI. The tool exists in the same space as the work. The head — the editor, the agent, the IDE — remains in control. scsiwyg just handles the persistence and publishing.
That's appropriate integration. The tool doesn't try to own the experience. It extends the experience you already have.
the irony resolves
A blogging platform with no editor is only ironic if you think the editor is the point.
The point is publishing. Consistently, without friction, from wherever the work already lives.
Remove the editor, and what's left is exactly what a developer needs: an API that works, a schema that's simple, and a surface where the posts appear.
Headless isn't the limitation.
It's the design.