Five years ago, when WordPress blocks were new, I wanted to use them for the whole dashboard.

I paid someone to build it and called it Mission Ctrl. It got some attention and a few sales, but eventually I stopped working on it.

Trying it again with AI in 2024

I got curious: Could Cursor + Claude rebuild this entire plugin for me?

Spoiler alert: HELL YES THEY COULD. And it’s actually amazing.

What surprised me: I have literally no idea how it works. It just… does. So I asked Cursor to explain it to me like I’m five (okay, maybe like I’m a developer, but still).

How it’s built

The Big Idea: Replace the dashboard with the block editor you already use for posts and pages. You can add widgets and arrange the layout yourself.

The WordPress 6.0+ features it uses

The block editor
Uses fancy React components with names like BlockEditorProvider, BlockList, and Inserter.

Modern Block Registration
Everything lives in a tidy block.json file instead of messy PHP. It’s the Marie Kondo of code.

The REST API
Custom endpoints that save your dashboard layouts and fetch widgets. It’s like having a personal butler for your dashboard data.

Server-Side Rendering
The “Dashboard Widget” block actually hijacks WordPress’s native widgets (the “At a Glance” stuff) and displays them right inside blocks. Sneaky!

WordPress Build Tools
Uses @wordpress/scripts which is basically WordPress saying “here’s all the complicated webpack stuff, pre-configured, you’re welcome.”

How It Actually Works (The Flow):

  1. Hijacks your dashboard → Redirects to the custom block editor
  2. Stores your layout → Saves it as serialized blocks in the database
  3. Renders everything → Uses WordPress’s own parsing/rendering functions
  4. Gives you the editor → Full React-powered block editor, just like the Site Editor
  5. Custom widget block → Wraps native WordPress widgets in block clothing

Why I wanted it

WordPress 6.0+ made this possible with stabilized APIs and better tooling. Basically, I took the technology powering Full Site Editing and just… pointed it at the dashboard instead.

The Result? A dashboard I can customize, built with AI’s help.

I’m still getting used to being able to do this. 🚀

https://playground.wordpress.net/?blueprint-url=https%3A%2F%2Fraw.githubusercontent.com%2FWeAreIconick%2FBlockDashboard%2Fmain%2Fblueprint.json↗