Thoughts on EmDash – Techbros latest attempt to stop me making mortgage payments

So on April Fools day (and also the day before a long weekend in the UK – thanks for giving me things to think about lads), EmDash was announced as the latest spiritual successor to WordPress and…yeah? It’s a thing. You can try it out here. Sure enough, within 20 minutes people were calling it a WordPress killer. To be fair, the blog had a bit of bravado. After playing around with it over the weekend, I think I know roughly where I stand.

The Things I like with EmDash

It’s nice enough. Has a very familiar interface, the default theme is quite pretty, and you can do some things that should be in WordPress core – simple SEO things that you need a plugin before. To write a post and put it online is quick. There is also custom post types – which are standard and much needed, although from my take I cannot see a way to expand them in the way that ACF does with WordPress.

The State of CMSs in my business

A couple of years ago I had a rough time – clients were leaving usually because their CTO would recommend another CMS, or use some AI vibe coded software that integrated with Vercel or Netlify.

Now? Those clients are coming back.

There are two reasons as to why they’re coming back. The first (and more common) reason is service lock-in caused businesses to haemorrhage money. Two years ago it seemed every client I had was switching to Webflow or exploring to switch. I’ve moved two back this year, and one back last year. Why? Webflow put their prices up, made it confusing, and those people were hit by unexpected bills. Could they move? Could they bollocks. They were locked in. Eventually the cost of a Webflow to WordPress migration was considerably more affordable than keeping the site on Webflow.

The other thing (which actually saw an agency shut down) was the AI approach became fastly unmaintainable. Go and read Ross Wintle’s article on personal apps. Stakeholders want features. Features need to be built. By having an AI approach with little to no oversight, the architecture of the AI driven code became a mess. What started as a system that was deployed quickly is now bloated again.

Both those things seem to be occurring with EmDash. It’s largely driven by one developer, and there does seem to be at least somewhat of a lock in to Cloudflare. Furthermore, I’m concerned that whilst EmDash has an import functions all built in, the export functions don’t exist. Doesn’t exactly scream portable.

Everything’s the next WordPress…until it isn’t

The blog post talks about the security risk – using “plugin security crisis”. I feel it may be a bit overegged to sell the product. As a bit of mafia esque “This is a nice site, I’d hate to see something happen to it”. Sure it takes a bit of time to navigate the WordPress.org repository, but it takes a bit of time to navigate a supermarket. I should point out that although vulnerabilities get discovered, with systems like Patchstack they are usually patched before they become a problem, and if you actually read the patched notes, the “security crisis” often is something that requires a login, or means that a subscriber to a blog can tick a checkbox they shouldn’t. Sure they are needing a fix, but it is using scary words to scare users.

I personally haven’t had a hacked site in about 10 years.

Eventually with these proprietary systems, you’ll hit a limit. Those limits just don’t seem to exist on WordPress. You can build a server to do exactly what you want with the technical know how. Can you do that on Cloudflare? And what happens when Cloudflare goes a bit off the rails? Sure, they’re the techies company du-jour, promoting content creators, but then, so were Google. And look where they are now.

Finally, I don’t think Emdash will succeed where WordPress can because the infrastructure isn’t there. There are few plugins. WordPress’ onboarding, whilst not great, was good enough – the documentation for it was fine to help you dig through things. Documentation like this – for creating EmDash plugins feels incredibly unwieldly and obtuse. Sure it’s something, and EmDash has been publicly available for a week, but it would need to improve.

And this is the thing, folks are touting how quick it is to scale, but not bringing anybody along for the ride. Take this block of text for example:-

Sandboxed Mode

Sandboxed plugins run in isolated V8 isolates on Cloudflare Workers via Dynamic Worker Loader. Each plugin gets its own isolate.

  • Capabilities are enforced. If a plugin declares ["read:content"], it can only call ctx.content.get() and ctx.content.list(). Attempting ctx.content.create() throws a permission error.
  • Network is blocked by default. Direct fetch() calls fail. Plugins must use ctx.http.fetch(), which validates against allowedHosts.
  • Storage is scoped. A plugin can only access its own KV and storage collections.
  • Admin UI uses Block Kit. Sandboxed plugins describe their UI as JSON blocks — no plugin JavaScript runs in the browser. See Block Kit reference.
  • No Portable Text block types. PT blocks require Astro components for site-side rendering (componentsEntry), which are loaded at build time from npm. Sandboxed plugins are installed at runtime and can’t ship components. PT blocks are a native-plugin-only feature.
  • Routes work. Standard plugin routes are available in both trusted and sandboxed modes via the sandbox runner’s invokeRoute() RPC.

Sandboxing is not available on Node.js. All plugins run in trusted mode on non-Cloudflare platforms.

I’ve been coding professionally for nigh on twenty years, and I struggle to understand exactly what’s being said here. Of course, people are saying “use AI Agents/MCP” and therein lies the problem. You baffle people. Nobody is really doing work to educate the lay-folk. It’s a similar problem that existed with Cryptocurrency and NFTs. Using baffling language. And look how those two things worked out?

My Conclusion

Don’t get me wrong, there is a lot wrong with the stewardship of WordPress. I believe Matt Mullenweg is actively harming the product, and I want FAIR to succeed, but I’m not sure that EmDash is a solution. The challenges people have with WordPress – plugin bloat, security issues, and slowness can be fixed with WordPress. This just feels like EmDash is making developers more JavaScript focussed, and lazy, and I feel like it’s is BSing folks with AI. Sure you can build things faster, but are they good, are you learning? Is it maintainable? Will see how it grows in the next two years, but I wouldn’t move any of my clients over to it just yet.

And, when EmDash gets there, thanks to the portability of WordPress, I’ll move over just fine.

On finally finding a use for generative AI

Forgive me father, for I have slopped.

I have very dim thoughts of generative AI for things like art and other creative elements. It’s why I was smiling when Sora shut down. It’s still coming for coders, but so far I’ve been okay.

A consequence of AI I’ve noticed is that people are beginning to ask questions to AI to get answers, and then prompting me to say “this is what ChatGPT thinks, why do you disagree?”. Obviously, when I suggest things that ChatGPT don’t consider – like budget.

AI can be wrong, and despite this, I’ve had a few times where people have insisted that AI is right, and I’m wrong.

For those who say that who are based in the UK, I’ve started to reply by sending an infographic I generated after a couple of Guinness Zeros. This was my prompt:-

Create an infographic for all the words used in the UK for a dinner roll, sorted by location. 16 locales based on geographic area.

This was what was generated.

Obviously, when sent to them, if they know how contentious dinner roll naming is in the UK, they accept that AI can be hallucinogenic.

Feel free to use and copy and send to people.

As an aside, I’ve seen more and more of these on Facebook in particular. A list of WWE champions that have images of Harry Kane for Kane, or the worst one: a “Darts Heroes of England” that had a picture of West Indian cricketer Clive Lloyd instead of Colin Lloyd.

Of course, I’m going to enjoy people saying “I can’t prompt”. To which I say, you go to Derbyshire and ask for a Chip Becky, and see what you get back….

Syrric – The YouTube Channel I didn’t know I need

Leave a comment on Syrric – The YouTube Channel I didn’t know I need Permalink

The last couple of nights I’ve fallen asleep to the Syrric YouTube Channel. It is a group of dudes who read out fun facts about video games. The thing that differentiates it from a bunch of other channels? It’s not designed to be watched – but rather listened too as you fall asleep.

Last night I had a hectic day and wasn’t in until about 9pm. I try to fall asleep between 10 and 11pm, so when I went to bed I was still rather awake.

10 minutes of hearing a calming voice talk about the history of Super Mario Brothers? Zonked out.

Also, quite nicely, as their output has been so regular the inevitable questions about it being AI generated came out – which they were quick to answer in this video.

https://www.youtube.com/watch?v=xk7Nx0xpmj8

In short, I’ve really enjoyed this channel, and recommend checking it out. Hope it continues for ages as they’ve been burning through franchises like nobody’s business!

Update 23rd March 2026: Welp! That didn’t last long. Seems like the channel was deleted. Checking the comment on the German channel, it appears as though the French (and therefore, probably the English) channel were flagged as spam. I don’t know the exact reason, but it kinda sucks as other YouTubers I follow have had run ins with the YouTube nodding donkey that seems to arbitrarily kill things off for being too much fun. Should stick to those AI videos generated from Reddit threads over the top of Minecraft footage, lads.

Update 27th March 2026: Seems like it is back!

On the “This Week in WordPress” (Episode 365)

This week I was on the WP Builds “This Week in WordPress” podcast episode 365. The main focus on my discussion was this blog post by Elliot Richmond which I love about where he publishes his content. It’s something I’ve been thinking a lot of, on where I publish my work.

Also, through it I discovered the Internet Archive Wayback Machine Link Fixer plugin, which pushes your blog posts to the Internet Archive (something I’ve installed on the site now – so it’d be interesting to see how it works). Very cool. And there’s probably dead links all over this blog. Will report back.

As always, it was good to speak with Nathan and Michelle, and good to meet Marc Benzakein too!

Listen to the Episode

Watch the Episode

Ross on personal apps

Leave a comment on Ross on personal apps Permalink

Ross Wintle snuck out a great post late on Sunday – “Trust me: You don’t want to make little personal apps… especially not like that!“, and I had a quiet weekend with a couple of code projects that made Ross’ post resonate with me!

Problem solving in code

LLM’s I find are terrible at problem solving. They’re good at interpreting what people want to do, but it doesn’t really think about the box. I have an example I’ll probably talk on next week’s Now page, but will share it here.

I had a problem with some code in my game, in that I couldn’t get a hitbox (the yellow circle) to sit within the sprite. The problem was the rotation script I use pivots the sprite around the bottom right hand corner of the sprite, so whilst the hitbox remains in the correct place, the hitbox does not.

The LLM was rewriting my code, and getting nowhere fast. It was trying to change the pivot point but going nowhere. Confidently wrong as it hit the brick wall.

The solution? Don’t have a hitbox. Determine that a bullet is outside of the white circle, and if the colour of the pixel at the bullet’s x & y co-ordinate is not black, then determine a hit. This was applied and fixed.

Programming requires a different approach that is often found by taking a walk and thinking about the problem in a different way. There was a famous case with Wing Commander where a bug in some versions was a memory error that existed on the game exiting that caused a crash. The solution? Change the error message to “Thank you for playing Wing Commander!”. Problem solved.

I feel these sort of bugs at the moment can only really be fixed with experience.

Ongoing Support

The second thing Ross mentioned was ongoing support. This is true – I’ve noticed this with Revive to Sky. I pushed an update that ticked the plugin over to 10+ Active installations in WordPress this week. That has meant I get a few more support requests over the weekend. When these occur, it can take a bit of debugging. I curiously asked an LLM for a solution for one of these, surprise surprise they were wrong.

Of course, this can lead to a period of of debugging and a back and forth. That does take skill. You can use LLMs for this – asking what an error means. But often a search on the internet throws up a solution quicker and easier. That’s a skill.

Anyway, I just wanted to highlight Ross’ post and add my 2 cents. Make a brew (it’s Brew Monday!) and go and read it.