Over the Easter weekend I was taking a stroll down the Rhos-on-Sea promenade, and noticed the following community noticeboard promoting local events. I stopped, took a photo, and went on my merry way.
Of the posters, I can confidently say that there is a Betws-Y-Coed antique and vintage fair held regularly thoroughout the year (which is the top left hand poster) and a Llandudno transport festival (whch is the bottom centre poster).
The rest? not a scoobies off the top of my head.
Sure, do I remember the dates of these events? No. But I remember from the time it took me to take the photos those events exist. If I was interested in either event, or know somebody who would, I could find out details and plan from there.
People use AI to scaffold websites, do art, or write blog posts. These feel like they fill a gap, rather than serve a purpose – a checkbox on a task list that needs to be filled.
However, in today’s attention based economy, why would you want your stuff to look the same? Janky websites with unique designs are more fun than every AI generated site out there, and whilst your kids art isn’t Rembrandt, you still hang it on the fridge, don’t you?
It’s been nice seeing other talented folk raise this, and the backlash has begun. I’ve even begun to switch off reading some prolific bloggers that use AI for the feature images. Even if they wrote every word, I think the images show a lack of creativity. So if you can’t guarantee that the featured image is slop, why should I trust your text?
So open up VS Code, or Canva and build that bloody poster, logo, or website. It may not be as polished as what ChatGPT can do, but you can maybe stick around in another person’s head longer than any slop can.
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.
Bit of a deep topic, but this is a fantastic piece of writing by Brennan Kenneth Brown on language and how it’s growth normalised some far right and toxic traits.
It does a deep dive through the internet and how language from meme culture did radicalise people.
I do often wonder at times what would have happened to me if I zigged instead of zagged. I remember for example reading The Game: a Neil Strauss book mentioned by Brennan – partly because interviews with him were prevalent in the communities I was a part of: early SEO, blogging and digital marketing communities. I remember putting it down after finishing it, but what if I explored? I was a confused and slightly lonely bloke trying to find my way in life in the late 2000s. I moved to Manchester, found my tribe, and found happiness. But what if I didn’t?
I think that is why I try and steer the younger (mid 20 year olds) folk I do come in contact with – in the cricket club for example – and be a positive influence on their lives. Saying things like “you hate dating” when they complain that they went on a bad date, or encourage them to travel a bit. I am not sure if it works, but I do my best.
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….
I love this post from Marc Jenkins talking about how to grapple with what to blog about and how to write a personal blog. This part resonated with me.
Thus I’ve come to the conclusion that I should stop trying to set boundaries for what my personal blog should be. It should be whatever I want it to be in the moment. It’s more fun, more genuine, more likely to create connection, if I share what’s on my mind.
Coming from an SEO mindset and anything under 300 words has been pointless, being able to write short posts, highlighting something, and not caring about the algorithm is rather liberating. 1 I feel also although I’m not expecting every post to be a runaway success, it’s nice that my writing leads to a comment, or a share, or somebody leaving a message in the guestbook. Heck I may even find my way onto their blogroll.2
Wandering the indie & open web and returning to blogs and RSS feed readers is a bit more work to get going, but once you do, you find cool sites. Like this one.
Need somewhere to start? The Internet Phone Book is open for 2026 submissions. Get your site in there and explore!
Ironically doing so in the last few months has seen my traffic on this site go up nicely. ↩︎
I need more sites to add to mine. If you think I’m on my RSS feed, please come up with a 88×31 gif button. Please and thank you! Use this if you get stuck. ↩︎