PLATE 02

AgenticWP

An open-source agent system that drafts, illustrates and optimises posts inside the WordPress editor

ROLE
Sole developer
STACK
PHP · React · REST · OpenAI language and vision models
Orchestration
An illustrated WordPress draft with editable blocks beside the AgenticWP chat panel.
DETAIL orchestration · OrchestrationConcept illustration: a draft stays in the editor, alongside the assistant that helps shape it.

BRIEF

A set of agents that live inside the WordPress block editor, where they draft posts, generate the images to go with them, and revise what is already published. It is for people who write on WordPress and would rather the drafting work happened in the editor than be pasted in from somewhere else. The plugin is free and every user brings their own model key.

Blocks, not markup

The generator emits real editor blocks rather than markdown or HTML converted after the fact.

The reason is editing, not generation. Because output is blocks, an agent can modify any existing post without breaking its formatting, and any custom styling a user has already applied to their blocks is inherited by the blocks the agent creates. Converted markup would have produced content that looked right on publish and was inert the moment anyone tried to edit it. It also would have discarded the user's own styling every time an agent touched a post.

One orchestrator, several specialists

An orchestrator assigns work to a set of agents, each carrying its own tools and its own instructions.

The alternative was a single agent holding every tool behind one long instruction set. Splitting bought two things: tasks run in parallel, and each agent carries narrower, more focused instructions than a generalist can hold without drift.

The assistant must not be the bottleneck

Generation runs as orchestrated background jobs with retry, rather than sequentially inside the request.

Sequential execution worked and was too slow. The slowness changed what the thing was, from an assistant you work alongside into a tool you wait on. Moving the work to background jobs let the agent keep responding and keep taking new instructions while long tasks ran. The architecture followed from how the interaction needed to feel.

AgenticWP: from request to editable blocks

An illustrative dispatch, from an editor request to editable blocks. The orchestrator assigns specialist work to background jobs while the editor remains available. This sequence explains the architecture; it is not a live run or a timing trace.

Editor requestOrchestratorSpecialist workBackground jobsEditable blocksEditor requestOrchestratorSpecialist workBackground jobsEditable blocks
Read the full sequence
  1. Request

    The writer asks for help in the editor. The request enters the orchestration layer.

  2. Dispatch

    The orchestrator assigns focused work to specialists carrying their own instructions and tools.

  3. Work

    Long tasks run as background jobs with retry support. The assistant can keep taking instructions while that work continues.

  4. Edit

    The result is native editor blocks. The writer can revise them, and existing block styling is retained.

A key you own, not one I rent

Users supply their own OpenAI key and pay OpenAI directly. No server of mine sits in the path.

The alternative was proxying inference and bundling the cost into the plugin. Owning the key is the only way the plugin stays genuinely free without me funding everyone's usage. It costs real things: no rate limiting, no usage visibility, and no central place to debug a failing call. Support is harder, because failures happen between the user and OpenAI where I can't see them.

Distribution
AgenticWP settings with a connected account key, model selection and task notifications.
DETAIL distribution · DistributionThe product’s settings surface: the user connects their own account key and chooses how the assistant responds.

CONSTRAINT

The plugin had to be free, and I was not going to fund everyone's inference.

Progress you can see

Achievements, experience thresholds, publishing streaks and a progress dashboard.

An unusual thing to build into a plugin, and it is there to solve a writing problem rather than a technical one: these mechanics keep people returning to drafts, improving what they have written, and holding a publishing schedule. The work the plugin automates is only useful if the habit around it survives.

Interface
AgenticWP progress dashboard showing activity, a publishing streak and achievements.
DETAIL interface · InterfaceThe product’s progress dashboard: activity, publishing streaks and achievements make the writing habit visible.

CONSEQUENCE

That single constraint removed the server. With no middleman in the path, cost control, privacy and failure handling all stopped being infrastructure problems and became design problems: the user holds the key, the user sets the spending limit, the content goes straight to the model and nowhere else, and every failure has to be legible in the editor because there is no log of mine to read it from.

DELIBERATE BOUNDARIES

  • Block editor only

    Classic Editor is not supported and will not be. Supporting it would mean emitting the converted markup that decision one exists to avoid.

  • You bring the key

    Real friction at install, and the price of the plugin being free. There is no trial tier, no bundled usage, and no path that avoids the OpenAI account.

NEXT PROJECT

BuyBye

A purchase-decision assistant pairing live product research with self-reported financial context

BuyBye illustration pairing a headphone inquiry with research and user-context cards.