2007, my employer is a magazine. I demand a blog. They decide to write one from scratch in .NET because we are a software magazine. 2010, said CMS is retired for Hubspot. Or maybe that happened later. Either way, to make me happy to have Hubspot is a feat. Also a great business angle for Hubspot: write your own shitty CMS? Welcome! And again, either way, 2017, bankruptcy. All money spent on CMS from inception to retirement could have been abated by a WordPress subscription. Definitely way above 6 figures lost. Coulda kept us alive for a few more years, anyway.
I thought this was a classy response. It’s very hard to address the original points of criticism without coming across as too defensive, but he managed to do it well. On top of that the author is kind of speaking on behalf of the whole CMS industry, which when all taken together certainly has a lot of issues. He made a good case for his product without trashing his competitors.
It seems like the argument is roughly: we used to use CMS because we had comms & marketing people who don't know git. But we plan to replace them all with ChatGPT or Claude, which does. So now we don't need CMS.
(I didn't click through to the original post because it seems like another boring "will AI replace humans?" debate, but that's the sense I got from the repeated mention of "agents".)
I don't think that's the argument. The argument is that comms and marketing people don't know git, but now that they can use AI they will be able to use tools they couldn't use before.
Basically, if they ask for a change, can preview it, ask for follow ups if it's not what they wanted, then validate it when it's good, then they don't need a GUI.
Cursor replaced their CMS because Cursor is a 50-people team shipping content to one website. Cursor also has a "Designers are Developers" scenario so their entire team is well versed with git.
This setup is minimal and works for them for the moment, but the author argues (and reasonably well enough, IMO) that this won't scale when they have dedicated marketing and comms teams.
It's not at all about Cursor using the chance to replace a department with AI, the department doesn't exist in their case.
> Lee's argument for moving to code is that agents can work with code.
So do you think this is a misrepresentation of Lee's argument? Again, I couldn't be bothered to read the original, so I'm relying on this interpretation of the original.
There's no sense in answering your questions when you actively refuse to read the article. You're more susceptible to misunderstand the arguments given your apparent bias on AI-motivated downsizing, which I must reiterate is not covered in the article at all.
Alright you badgered me into reading the original and the linked post does not misinterpret it.
> Previously, we could @cursor and ask it to modify the code and content, but now we introduced a new CMS abstraction in between. Everything became a bit more clunky. We went back to clicking through UI menus versus asking agents to do things for us.
> With AI and coding agents, the cost of an abstraction has never been higher. I asked them: do we really need a CMS? Will people care if they have to use a chatbot to modify content versus a GUI?
> For many teams, the cost of the CMS abstraction is worth it. They need to have a portal where writers or marketers can log in, click a few buttons, and change the content.
> More importantly, the migration has already been worth it. The first day after, I merged a fix to the website from a cloud agent on my phone.
> The cost of abstractions with AI is very high.
The whole argument is about how it's easier to use agents to modify the website without a CMS in the way.
This is an AI company saying "if you buy our product you don't need a CMS" and a CMS company saying "nuh-uh, you still need a CMS".
The most interesting thing here is that the CMS company feels the need to respond to the AI company's argument publicly.
Git can make sense, but you still need to wrap it for non-technical people. No matter how easy markup is, some people still will refuse to learn it and ask for WYSIWYG tools
I'm gonna be honest here. I don't know what a non-technical person is anymore. The only people I can truly label that way are a subset of the people now near or at retirement age.
It's almost 2026. There are more people who know how to code than ever before. This stuff is taught in every school now. Everyone has access to AI to help them if they get stuck. If someone under 50 is unwilling to work I am unwilling to employ.
A huge number of those people only interact with computers as a consumer. Beyond that, maybe schools assignments, texting and other social media, light email, and video games (eg through steam or a console). There is a big gap between that and someone comfortable using git.
Don’t be an asshole to them about that, think about how many developers would do anything it takes to avoid calling someone on the phone. Obviously they can learn it, but they know they’re going to be bad at it for a while (true for both git and phone calls) and they don’t know how long it’s going to take, or the extent of what they don’t know.
The thing about software companies is that they know how to automate and build stuff so why invest the time in learning a CMS if it’s something they could quickly solve for their own use case? Well, the same applies to people who just want to point and click and write, wondering whether it’s worth it to learn what a rebase does.
I do believe that using Git GUI for those people should be perfectly fine and it would be good for business people in general to adopt Git for a lot of documents or content.
But forcing people to use the tool is not the way to go as ROI depends a lot on context of the company and lots of time just a CMS would be better bang for the buck.
The article is about how people shouldn’t build CMSs because they’re building things that are too simple, missing tons features and not realizing the scope of what they get into.
But one thing that CMSs may want to have is “proper version control”. So what do they do? They are faced with 2 options: using a complete version control system like git, which allows them to do branches and merges and PR reviews and so on. Or they build something simpler internally, with only draft/publish, like they usually do.
But what if 2 marketers are making changes to the same file at the same time? one because the name of a product changed, and one because there is a new christmas sale. Does the version system handle merging? Maybe… maybe not…
The point I am making is that we always make the tradeoffs of buying off-the-shelf complex stuff vs internally built, incomplete buggy but tailor-made solutions.
And CMS is very much a space where customability matters.
BTW, Github Pages is a git-backed “CMS” used by millions of people. It works fine.
But in that bias is a ton of experience in the CMS field and a lot of observation of actual teams trying to solve for content operations challenges. I think that's valuable to share, even if we happen to also sell a solution to these things.
The original article was written by an employee of an AI company, demonstrating that a CMS is not really needed when you can use AI. Both are probably biased, but nonetheless both articles are worth a read. Re-evaluating established patterns in the age of AI is an interesting thought exploration, from both sides.
I think there is a need for Agent-first tooling for things like CMS.
> Previously, we could @cursor and ask it to modify the code and content, but now we introduced a new CMS abstraction in between.
That is a very real benefit to having everything accessible by Agents. Whenever I need to setup connections in web UIs, it slows me down. IaC is a huge step in the right direction for Agent workflows, but so much is still locked away like CMS management, Confluence docs, Jira tickets, etc.
I think it's good practise to build something CMS like for fun - as long as you don't expect it to be useful or used, outside of maybe your personal page. It's useful to experiment and learn stuff that might be useful at scale in other projects.
I intentionally made a few interesting choices for my stuff, just to see how far you can push it, and to make sure no sane person would ever use that in production (like, from before Markdown was around, I was wondering how far you can get with doing a simple markup language parsed by using regexp only. Turns out, surprisingly far, but if something doesn't parse as expected later on you have a bit of a problem)
This story reminds me of a similar issue people love to solve with the same idea. Software builds. The can’t we have a simple make file or worse just a shell script to build.
And just like described in the post it starts the same. Simple script wrapper. No tasks no tasks dependencies. Then over time you need to built now a library which contains the core part of the software to share between different other projects. You need to publish to different platforms. Shell scripts become harder to use on windows all of a sudden. You need to built for different architectures and have to integrate platform specific libraries.
You can built your simple make / shell file around all that. But it ain’t so simple anymore.
For the 80% of use cases, you have homogeneous build commands that are the same across projects (such as a makefile with build, clean, test, etc). This calls the real (complex) build system underneath to actually perform the action. You shouldn't need to type more than 15 keys to make it do common things (and you CERTAINLY shouldn't need to use ANY command line switches).
Then for the other 20% of (complex) use cases, you call the underlying build system directly, and have a document describing how the build system works and how to set up the dev environment (preferably with "make dev-env"). Maybe for self-bootstrapping systems like rust or go this isn't such a big deal, but for C/C++ or Python or node or Java or Mono it quickly becomes too bespoke and fiddly.
Then you include tests for those makefile level commands to make sure they actually work.
There's nothing worse than having to figure out (or remember) the magical incantation necessary to build/run some project among the 500 repos in 15 languages at a company, waiting for the repo owner to get back to you on why "./gradlew compileAndRun" and "/.gradlew buildAndRun" and "./gradlew devbuild" don't work - only to have them say "Oh, you just use ./gradlew -Pjava.version=11 -Dconfig.file=config/dev-use-this-one-instead.conf -Dskipdeploy buildAndDeploy - oh and make sure ImageMagick and Pandoc are installed. They're only used by the reports generator, but buildAndDeploy will error out without them". Wastes a ton of time.
Maybe for developers, but I can't imagine most people going back to the terminal. The smartphones won and has the largest market. It would be especially awkward to use a terminal on a touch display. Maybe with voice this will be easier, but I doubt people want to go around in public talking and giving instructions to their phone. UIs are here to stay.
I have built several small websites in the past that were updated by non tech people.
I have tried, believe me, to make CMS work. I really did. But every time the customer came back with “can I do this or that” and inevitably, it fell in a blind corner of the CMS engine I was trying to use.
In the end, I developped something where the structure of the site matched a folder structure, setup a dropbox auto sync, and let the customers write anything they needed using markdown for content and yaml for metadata.
Sure, it didn’t do a hundredth of what the cms did, but it did what the customers needed. it took me less time to build this than to actually install/understand a cms system.
If I did have AI back then, it would have been even faster for me to build that stuff.
I built something similar recently [0] with help from Claude Code (in Zed). It is still only a rough prototype, but I have tried it out on non-techy people for a project, and it has worked better than anything I have tried prior (Wordpress, Hugo etc).
I mount the folder with the content so they always has easy access to add and modify the website directly from the file explorer. It is quite powerful because there is not friction. You hit save, and it is live. This can off course be a drawback too, it is quicker to mess up stuff, but that is a trade off I am willing to make in 95% of the use cases I deal with.
I got them to install MacDown, which is a standalone Markdown editor with side by side editing (text on the left, render on the right), and print a cheat sheet for links and images. Markdown is very easy to write. Nowadays there's probably an opensource wysiwyg editor.
The yaml part was very simple, it was handling the links for the menu entries..
Yes the customers wanted customized functionalities, like different ways to access the same pages, in the same tree.
Like you have Menu Item 1 => SubMenu Item 2 => List Item 3 is the same as Menu Item 3 => SubMenu Item 1 => List Item 5. Very few CMS do this, as the usual is to have a non cyclic tree hierarchy.
Here I had a main hierarchy reflected in the folder structure, and then they could add some links to the menu tree with the yaml files.
The whole thing was very simple. It took me about 16 hours to set up the whole site.
The point about CMSs having value in possibly being a more real-time collaborative UI layer to interact with that's less-scary for the average Joe is a valid driver; and is a critical factor for many use cases. But the the other stuff is clearly reasoning with a solution already in mind...
"All blog posts mentioning feature Y published after September...[more examples]...The three most recent case studies in the finance category...[etc]"
Fairly simple queries. If you're willing to build an MCP server (as they did for their solution), you could just as well build one that reads structured front matter.
"You can't. You'd need to parse frontmatter, understand your date format, resolve the category references, handle the sorting, limit the results. At which point you've built a query engine."
Well that's a scoped problem. Looks like it already exists (e.g., https://markdowndb.com/) and doesn't require moving away from Markdown files in GIT if you want.
The AI-generated points aren't as compelling as the prompter thinks. A new common problem.
Yes, you don't need flatfile-committed raw text for AI tools to work properly, in part because of things like MCP servers. Yes, semantically linked content with proper metadata enables additional use cases.
The next point to make would be "if you use our thing, you don't need to think about this", but instead goes into a highly debatable rant about markdown in git not being able to fulfil those additional use cases on a practical level.
This distracts from the what I imagine is the real intent: "git and markdown files don't come automagically with a snazzy collaborative UI. And yes you can still use AI, and use it well out of the box. If someone tells you you need markdown in git to do x,y,z with AI they are wrong."
Personally, I can get over the "AI writing style", but only if the content still nails the salient point...
> Give it six months. ... The "simple" system will accrete complexity because content management is complex.
Ah I was looking for the boogeyman threat and there it is.
I am so glad to see people finally getting away from all CMS platforms. They never worked well and have always caused a lot more problems than they solved. Everyone used them either out of ignorance or red tape.
I'm not siding with the author for any interest in CMS but that comment is natural for anyone who thinks someone made a good enough short term decision which might backfire after the realities settle in.
And they didn't threat anything, they simply said: your simple system won't be too simple anymore as you keep on using it. To me it's a fair comment.
Of course, it might not backfire but predictions are personal and not always correct.
No. Everyone used them because people editing the websites are almost never developers. Moving to some static site generator powered by git is cool until your marketing team constantly bothers your dev team to change a typo.
This is a great testament to why 75% of the web runs on WordPress.
Most of the problem mentioned have been solved by wordpress for ages, but there’s an entire industry set on reinventing the wheel in ways that really baffle me.
If your actual goal is to publish on the web in a sane and understandable way, wordpress solves the problem for the largest number of cases.
Scalability is solved. Usability by non tech editors is solved. Draft and approval flow is solved. Caching and speed is solved. You want headless? Oh, turns out wordpress is actually GREAT for that too.
It’s not sexy I guess? But if the goal is “work done” instead of “tech wank to impress investors with complexity”, that’s a solution that works very well.
Nah, the likes of Drupal and others were established before Wordpress was launched, even longer if you consider Wordpress 1 & 2 were “blog software for blogs” more than the behemoth modern versions have become.
I think being later actually worked in their favor as they caught the wave that Drupal and others were too early for. They were simpler when a lot of new developers and clients were around and grew in complexity as what people did on the web did, while Drupal and co just seemed bloated, even though arguably modern versions of Wordpress with the plugin setups that are common now are even more complicated than those old version of their competitors at the start
It also heavily depends on _what type of content_ your CMS is serving. Blog posts and static pages? Okay, sure, probably fine to bolt WP on top and be done with it.
But as a CMS to build out landing pages for an ecommerce site with 10s of thousands of SKUs? That's where things fall down. I'm not going to reimport my entire catalog into WooCommerce or something just to show a block of 8 products. Do the products also need to be localized for pricing and language? Plugins/custom glue code. PDP pages? Custom content per product based on various supplier disclosure requirements? Meh, at that point, I need to build so much custom stuff on top of WP that I'd actually be better off owning the entire stack and finding a way to use their block editor as a library within my own system.
I've worked heavily in my career with both WordPress and more custom PHP applications and while they each have their tradeoffs, I would never suggest someone to use WordPress at this stage unless they are just getting started and their data models fits without a ton of customization. However, if you're really just starting out, you'd be likely better off with Squarespace or Shopify until your business outgrows those platforms and you need custom software to take your business to the next level. For some businesses, WordPress might be the right answer as a CMS, but for others, they might be better served by other solutions.
The only people I can confidently recommend WP for at this point are actual bloggers who will just use the WordPress.com free tier, or a news organization looking for a high quality interface to publish long form content. For new businesses, you'll be better served by other platforms until you outgrow them and your business needs become complicated enough to warrant custom software.
reading these comments - wow, absolutely nobody has an idea what a CMS is. if your going to "replace it with cursor" or "AI" you've completely lost the plot as a software engineer
you guys do realize that WordPress (as much as I hate its ubiquitous existence) is the CMS model?
and still something like 40% of all pages on the internet
I'm really getting tired of gen AI and this article is like a perfect microcosm. Partially or at least fully AI generated, discussing a vibe-coded CMS built by an AI startup. It's several layers of marketing and no serious engineering.
It didn't read as LLM-generated to me. And having some experience with CMS development, the article has plenty of substance. You can check previous blog articles from the same author far predating LLMs - here's one from 2018: https://www.sanity.io/blog/getting-started-with-sanity-as-a-.... The main difference i see with the OP article is it's a bit more emotive - probably a result of responding to a public trashing of their product.
The main point I'd like to raise in this comment though is that one of us is wrong - maybe me or you - and our internal LLM radar / vibe check is not as strong as we think. That worries me a bit. Probably LLM accusations are now becoming akin to the classic "You're a corporate shill!".
Comparing the two articles, they have a completely different style. I wasn't totally convinced the linked article was AI generated but I am now. Clearly the author can write, so I'm a bit saddened that they used an LLM for this article
There are some obvious tells like the headings ("Markdown is nice for LLMs. That’s not the point", "What Lee actually built (spoiler: a CMS)"), the dramatic full stops ("\nThis works until it doesn't.\n"), etc. It's difficult to describe because it's sort of a gut feeling you have pattern matching what you get from your own LLM usage.
It sort of reminds me of those marketing sites I used to see selling a product, where it's a bunch of short paragraphs and one-liners, again difficult to articulate but those were ubiquitous like 5 years ago and I can see where AI would have learned it from.
It's also tough because if you're a good writer you can spot it easier and you can edit LLM output to hide it, but then you probably aren't leaning on LLM's to write for you anyways. But if you aren't a good writer or your English isn't strong you won't pick up on it, and even if you use the AI to just rework your own writing or generate fragments it still leaks through.
Now that I think about it I'm curious if this phenomenon exists in other languages besides English...
This article is just about as un-AI written as anything I've ever read. The headings are clearly just the outline that he started with. An outline with a clear concept for the story that he's trying to tell.
I'm beginning to wonder how many of the "This was written by AI!" comments are AI-generated.
If only we could take output and reverse-engineer activation layers through some parameters and get the original prompt. Imagine how much time we could save if we could read the chat transcript or the two actually human-written paragraphs this article was based on. They'd be some banal rant about a DevRel dude but at least it'd be more efficient.
Would be nice but you could probably edit it enough or splice different chat outputs together to break it.
Honestly with the way the world is going, you might as well just ask AI to generate the chat logs from the article. Who cares if it's remotely accurate, doesn't seem like anyone cares when it comes to anything else anyways.
As I read it I was just thinking "whoa, someone really just decided to pawn their site design off to AI, then complain it doesn't get CMS, then build CMS purely so they can yell their requests at the AI, and so the company making the CMS pawned off to AI writing article why using AI isn't a great way to click at their CMS"
could be summed up as "and not a single bit of productivity was had that day"
It's like a reflection of Nvidia, Oracle and, OpenAI selling each other products and just trading the same money back and forth. Which is of course a reflection of the classic economist joke about eating poo in the forest. "GDP is up though!"
Meanwhile nothing actually changed and the result is pretty much the same anyways.
2007, my employer is a magazine. I demand a blog. They decide to write one from scratch in .NET because we are a software magazine. 2010, said CMS is retired for Hubspot. Or maybe that happened later. Either way, to make me happy to have Hubspot is a feat. Also a great business angle for Hubspot: write your own shitty CMS? Welcome! And again, either way, 2017, bankruptcy. All money spent on CMS from inception to retirement could have been abated by a WordPress subscription. Definitely way above 6 figures lost. Coulda kept us alive for a few more years, anyway.
I thought this was a classy response. It’s very hard to address the original points of criticism without coming across as too defensive, but he managed to do it well. On top of that the author is kind of speaking on behalf of the whole CMS industry, which when all taken together certainly has a lot of issues. He made a good case for his product without trashing his competitors.
Why do you need to use Git as a CMS?
That seems backwards and hellish when you want to grow your content and marketing team as they have no clue on how to use this arcane tool.
Now the engineers would need to be bothered by the marketing department time and time again to add blog posts, wasting engineering time.
This is the reason why CMS's like Sanity, Wordpress, Directus exist.
using Git as a CMS doesn't make sense at scale.
It seems like the argument is roughly: we used to use CMS because we had comms & marketing people who don't know git. But we plan to replace them all with ChatGPT or Claude, which does. So now we don't need CMS.
(I didn't click through to the original post because it seems like another boring "will AI replace humans?" debate, but that's the sense I got from the repeated mention of "agents".)
I don't think that's the argument. The argument is that comms and marketing people don't know git, but now that they can use AI they will be able to use tools they couldn't use before.
Basically, if they ask for a change, can preview it, ask for follow ups if it's not what they wanted, then validate it when it's good, then they don't need a GUI.
Cursor replaced their CMS because Cursor is a 50-people team shipping content to one website. Cursor also has a "Designers are Developers" scenario so their entire team is well versed with git.
This setup is minimal and works for them for the moment, but the author argues (and reasonably well enough, IMO) that this won't scale when they have dedicated marketing and comms teams.
It's not at all about Cursor using the chance to replace a department with AI, the department doesn't exist in their case.
> Lee's argument for moving to code is that agents can work with code.
So do you think this is a misrepresentation of Lee's argument? Again, I couldn't be bothered to read the original, so I'm relying on this interpretation of the original.
There's no sense in answering your questions when you actively refuse to read the article. You're more susceptible to misunderstand the arguments given your apparent bias on AI-motivated downsizing, which I must reiterate is not covered in the article at all.
Alright you badgered me into reading the original and the linked post does not misinterpret it.
> Previously, we could @cursor and ask it to modify the code and content, but now we introduced a new CMS abstraction in between. Everything became a bit more clunky. We went back to clicking through UI menus versus asking agents to do things for us.
> With AI and coding agents, the cost of an abstraction has never been higher. I asked them: do we really need a CMS? Will people care if they have to use a chatbot to modify content versus a GUI?
> For many teams, the cost of the CMS abstraction is worth it. They need to have a portal where writers or marketers can log in, click a few buttons, and change the content.
> More importantly, the migration has already been worth it. The first day after, I merged a fix to the website from a cloud agent on my phone.
> The cost of abstractions with AI is very high.
The whole argument is about how it's easier to use agents to modify the website without a CMS in the way.
This is an AI company saying "if you buy our product you don't need a CMS" and a CMS company saying "nuh-uh, you still need a CMS".
The most interesting thing here is that the CMS company feels the need to respond to the AI company's argument publicly.
Git can make sense, but you still need to wrap it for non-technical people. No matter how easy markup is, some people still will refuse to learn it and ask for WYSIWYG tools
I'm gonna be honest here. I don't know what a non-technical person is anymore. The only people I can truly label that way are a subset of the people now near or at retirement age.
It's almost 2026. There are more people who know how to code than ever before. This stuff is taught in every school now. Everyone has access to AI to help them if they get stuck. If someone under 50 is unwilling to work I am unwilling to employ.
A huge number of those people only interact with computers as a consumer. Beyond that, maybe schools assignments, texting and other social media, light email, and video games (eg through steam or a console). There is a big gap between that and someone comfortable using git.
Don’t be an asshole to them about that, think about how many developers would do anything it takes to avoid calling someone on the phone. Obviously they can learn it, but they know they’re going to be bad at it for a while (true for both git and phone calls) and they don’t know how long it’s going to take, or the extent of what they don’t know.
The thing about software companies is that they know how to automate and build stuff so why invest the time in learning a CMS if it’s something they could quickly solve for their own use case? Well, the same applies to people who just want to point and click and write, wondering whether it’s worth it to learn what a rebase does.
I do believe that using Git GUI for those people should be perfectly fine and it would be good for business people in general to adopt Git for a lot of documents or content.
But forcing people to use the tool is not the way to go as ROI depends a lot on context of the company and lots of time just a CMS would be better bang for the buck.
Ah, this is fun.
The article is about how people shouldn’t build CMSs because they’re building things that are too simple, missing tons features and not realizing the scope of what they get into.
But one thing that CMSs may want to have is “proper version control”. So what do they do? They are faced with 2 options: using a complete version control system like git, which allows them to do branches and merges and PR reviews and so on. Or they build something simpler internally, with only draft/publish, like they usually do.
But what if 2 marketers are making changes to the same file at the same time? one because the name of a product changed, and one because there is a new christmas sale. Does the version system handle merging? Maybe… maybe not…
The point I am making is that we always make the tradeoffs of buying off-the-shelf complex stuff vs internally built, incomplete buggy but tailor-made solutions.
And CMS is very much a space where customability matters.
BTW, Github Pages is a git-backed “CMS” used by millions of people. It works fine.
> Application error: a client-side exception has occurred while loading www.sanity.io (see the browser console for more information).
Oh. The irony.
This is written by a proprietary CMS company, so they may be slightly bias.
Author here! Of course, I'm biased!
But in that bias is a ton of experience in the CMS field and a lot of observation of actual teams trying to solve for content operations challenges. I think that's valuable to share, even if we happen to also sell a solution to these things.
The original article was written by an employee of an AI company, demonstrating that a CMS is not really needed when you can use AI. Both are probably biased, but nonetheless both articles are worth a read. Re-evaluating established patterns in the age of AI is an interesting thought exploration, from both sides.
I think there is a need for Agent-first tooling for things like CMS.
> Previously, we could @cursor and ask it to modify the code and content, but now we introduced a new CMS abstraction in between.
That is a very real benefit to having everything accessible by Agents. Whenever I need to setup connections in web UIs, it slows me down. IaC is a huge step in the right direction for Agent workflows, but so much is still locked away like CMS management, Confluence docs, Jira tickets, etc.
I think it's good practise to build something CMS like for fun - as long as you don't expect it to be useful or used, outside of maybe your personal page. It's useful to experiment and learn stuff that might be useful at scale in other projects.
I intentionally made a few interesting choices for my stuff, just to see how far you can push it, and to make sure no sane person would ever use that in production (like, from before Markdown was around, I was wondering how far you can get with doing a simple markup language parsed by using regexp only. Turns out, surprisingly far, but if something doesn't parse as expected later on you have a bit of a problem)
This story reminds me of a similar issue people love to solve with the same idea. Software builds. The can’t we have a simple make file or worse just a shell script to build.
And just like described in the post it starts the same. Simple script wrapper. No tasks no tasks dependencies. Then over time you need to built now a library which contains the core part of the software to share between different other projects. You need to publish to different platforms. Shell scripts become harder to use on windows all of a sudden. You need to built for different architectures and have to integrate platform specific libraries. You can built your simple make / shell file around all that. But it ain’t so simple anymore.
The idea is to have an 80/20 build system:
For the 80% of use cases, you have homogeneous build commands that are the same across projects (such as a makefile with build, clean, test, etc). This calls the real (complex) build system underneath to actually perform the action. You shouldn't need to type more than 15 keys to make it do common things (and you CERTAINLY shouldn't need to use ANY command line switches).
Then for the other 20% of (complex) use cases, you call the underlying build system directly, and have a document describing how the build system works and how to set up the dev environment (preferably with "make dev-env"). Maybe for self-bootstrapping systems like rust or go this isn't such a big deal, but for C/C++ or Python or node or Java or Mono it quickly becomes too bespoke and fiddly.
Then you include tests for those makefile level commands to make sure they actually work.
There's nothing worse than having to figure out (or remember) the magical incantation necessary to build/run some project among the 500 repos in 15 languages at a company, waiting for the repo owner to get back to you on why "./gradlew compileAndRun" and "/.gradlew buildAndRun" and "./gradlew devbuild" don't work - only to have them say "Oh, you just use ./gradlew -Pjava.version=11 -Dconfig.file=config/dev-use-this-one-instead.conf -Dskipdeploy buildAndDeploy - oh and make sure ImageMagick and Pandoc are installed. They're only used by the reports generator, but buildAndDeploy will error out without them". Wastes a ton of time.
Having Make shell out to the real build system is a nice compromise. Then you can stick your tests and stuff in there too
I believe the point is that AI or cursor/agent is your CMS. The points about structured content and references are valid but go away as AI improves.
UI first approach is dying. I don’t even want to touch it if possible, if cursor can solve it for me.
Maybe for developers, but I can't imagine most people going back to the terminal. The smartphones won and has the largest market. It would be especially awkward to use a terminal on a touch display. Maybe with voice this will be easier, but I doubt people want to go around in public talking and giving instructions to their phone. UIs are here to stay.
Can you give some examples of this?
Part on Git not being content collaboration tool is just wrong.
Code merges are extremely semantic. Changes over multiple files/places in project are the norm.
Feels like author went on defensive mode against Git. But he is quite right on other points.
I have built several small websites in the past that were updated by non tech people.
I have tried, believe me, to make CMS work. I really did. But every time the customer came back with “can I do this or that” and inevitably, it fell in a blind corner of the CMS engine I was trying to use.
In the end, I developped something where the structure of the site matched a folder structure, setup a dropbox auto sync, and let the customers write anything they needed using markdown for content and yaml for metadata.
Sure, it didn’t do a hundredth of what the cms did, but it did what the customers needed. it took me less time to build this than to actually install/understand a cms system.
If I did have AI back then, it would have been even faster for me to build that stuff.
At some point, it just helps you get shit done.
I built something similar recently [0] with help from Claude Code (in Zed). It is still only a rough prototype, but I have tried it out on non-techy people for a project, and it has worked better than anything I have tried prior (Wordpress, Hugo etc).
I mount the folder with the content so they always has easy access to add and modify the website directly from the file explorer. It is quite powerful because there is not friction. You hit save, and it is live. This can off course be a drawback too, it is quicker to mess up stuff, but that is a trade off I am willing to make in 95% of the use cases I deal with.
[0] https://forge.dmz.skyfritt.net/ruben/folderweb
How did you manage training non-tech people to edit yaml and markdown files?
How did this solve the CMS not supporting something they needed?
Did it simply make customizing functionality easier, since you are in total control of the codebase?
I got them to install MacDown, which is a standalone Markdown editor with side by side editing (text on the left, render on the right), and print a cheat sheet for links and images. Markdown is very easy to write. Nowadays there's probably an opensource wysiwyg editor.
The yaml part was very simple, it was handling the links for the menu entries..
Yes the customers wanted customized functionalities, like different ways to access the same pages, in the same tree.
Like you have Menu Item 1 => SubMenu Item 2 => List Item 3 is the same as Menu Item 3 => SubMenu Item 1 => List Item 5. Very few CMS do this, as the usual is to have a non cyclic tree hierarchy.
Here I had a main hierarchy reflected in the folder structure, and then they could add some links to the menu tree with the yaml files.
The whole thing was very simple. It took me about 16 hours to set up the whole site.
> something where the structure of the site matched a folder structure
Kirby?
That was my first try, but many things were missing from Kirby for what the customer wanted.
I am curious what was possible with yaml+md files that was impossible with flat file CMS. Afaik flat file CMSes are basically glorified .md editors.
If anyone from sanity is reading this. Please for the love of god fix the rich text editor. It’s a great CMS for everything but writing text.
We're fixing every week! Have you tried it recently? Are there particular issues you're having?
The point about CMSs having value in possibly being a more real-time collaborative UI layer to interact with that's less-scary for the average Joe is a valid driver; and is a critical factor for many use cases. But the the other stuff is clearly reasoning with a solution already in mind...
"All blog posts mentioning feature Y published after September...[more examples]...The three most recent case studies in the finance category...[etc]"
Fairly simple queries. If you're willing to build an MCP server (as they did for their solution), you could just as well build one that reads structured front matter.
"You can't. You'd need to parse frontmatter, understand your date format, resolve the category references, handle the sorting, limit the results. At which point you've built a query engine."
Well that's a scoped problem. Looks like it already exists (e.g., https://markdowndb.com/) and doesn't require moving away from Markdown files in GIT if you want.
Or use something like content collection in astro (https://docs.astro.build/en/guides/content-collections/). Hell, looks like that lets you have the MD files somewhere else instead of git if you please.
The AI-generated points aren't as compelling as the prompter thinks. A new common problem.
Yes, you don't need flatfile-committed raw text for AI tools to work properly, in part because of things like MCP servers. Yes, semantically linked content with proper metadata enables additional use cases.
The next point to make would be "if you use our thing, you don't need to think about this", but instead goes into a highly debatable rant about markdown in git not being able to fulfil those additional use cases on a practical level.
This distracts from the what I imagine is the real intent: "git and markdown files don't come automagically with a snazzy collaborative UI. And yes you can still use AI, and use it well out of the box. If someone tells you you need markdown in git to do x,y,z with AI they are wrong."
Personally, I can get over the "AI writing style", but only if the content still nails the salient point...
> Give it six months. ... The "simple" system will accrete complexity because content management is complex.
Ah I was looking for the boogeyman threat and there it is.
I am so glad to see people finally getting away from all CMS platforms. They never worked well and have always caused a lot more problems than they solved. Everyone used them either out of ignorance or red tape.
I'm not siding with the author for any interest in CMS but that comment is natural for anyone who thinks someone made a good enough short term decision which might backfire after the realities settle in.
And they didn't threat anything, they simply said: your simple system won't be too simple anymore as you keep on using it. To me it's a fair comment.
Of course, it might not backfire but predictions are personal and not always correct.
No. Everyone used them because people editing the websites are almost never developers. Moving to some static site generator powered by git is cool until your marketing team constantly bothers your dev team to change a typo.
Imagine if that dev team could create some kind of hyper intelligent interface to git so powerful even a marketer could use it…
Like a couple icons and some basic platform scripts for the 99% use cases of picking a branch, adding content, and occasionally saying “oops”?
Powered by Git doesn’t have to mean using Git raw.
you literally need 1 guy who will check marketing's AI Cursor commits of the changed typo. way cheaper than paying for the CMS.
This is a great testament to why 75% of the web runs on WordPress. Most of the problem mentioned have been solved by wordpress for ages, but there’s an entire industry set on reinventing the wheel in ways that really baffle me. If your actual goal is to publish on the web in a sane and understandable way, wordpress solves the problem for the largest number of cases. Scalability is solved. Usability by non tech editors is solved. Draft and approval flow is solved. Caching and speed is solved. You want headless? Oh, turns out wordpress is actually GREAT for that too.
It’s not sexy I guess? But if the goal is “work done” instead of “tech wank to impress investors with complexity”, that’s a solution that works very well.
Wordpress is nice, but not on the same league as Sitecore, AEM, Optimizely, Dynamics, and many other enterprise class CMS.
I guess those belong to the remaining 25%.
WordPress didn't solve anything. They just got the first.
Nah, the likes of Drupal and others were established before Wordpress was launched, even longer if you consider Wordpress 1 & 2 were “blog software for blogs” more than the behemoth modern versions have become.
I think being later actually worked in their favor as they caught the wave that Drupal and others were too early for. They were simpler when a lot of new developers and clients were around and grew in complexity as what people did on the web did, while Drupal and co just seemed bloated, even though arguably modern versions of Wordpress with the plugin setups that are common now are even more complicated than those old version of their competitors at the start
They got there first, then as a result, they have:
- a big ecosystem of themes and plugins (especially for SEO)
- an army of contractors who can set it up for cheap, and don't know anything else
- users who know their way through the UI and don't even think about looking at alternatives
It also heavily depends on _what type of content_ your CMS is serving. Blog posts and static pages? Okay, sure, probably fine to bolt WP on top and be done with it.
But as a CMS to build out landing pages for an ecommerce site with 10s of thousands of SKUs? That's where things fall down. I'm not going to reimport my entire catalog into WooCommerce or something just to show a block of 8 products. Do the products also need to be localized for pricing and language? Plugins/custom glue code. PDP pages? Custom content per product based on various supplier disclosure requirements? Meh, at that point, I need to build so much custom stuff on top of WP that I'd actually be better off owning the entire stack and finding a way to use their block editor as a library within my own system.
I've worked heavily in my career with both WordPress and more custom PHP applications and while they each have their tradeoffs, I would never suggest someone to use WordPress at this stage unless they are just getting started and their data models fits without a ton of customization. However, if you're really just starting out, you'd be likely better off with Squarespace or Shopify until your business outgrows those platforms and you need custom software to take your business to the next level. For some businesses, WordPress might be the right answer as a CMS, but for others, they might be better served by other solutions.
The only people I can confidently recommend WP for at this point are actual bloggers who will just use the WordPress.com free tier, or a news organization looking for a high quality interface to publish long form content. For new businesses, you'll be better served by other platforms until you outgrow them and your business needs become complicated enough to warrant custom software.
The font rendering is all kinds of fucked with Firefox impossible to read.
Ooof. We should fix that!
reading these comments - wow, absolutely nobody has an idea what a CMS is. if your going to "replace it with cursor" or "AI" you've completely lost the plot as a software engineer
you guys do realize that WordPress (as much as I hate its ubiquitous existence) is the CMS model?
and still something like 40% of all pages on the internet
I'm really getting tired of gen AI and this article is like a perfect microcosm. Partially or at least fully AI generated, discussing a vibe-coded CMS built by an AI startup. It's several layers of marketing and no serious engineering.
Where are the grownups in the room?
It didn't read as LLM-generated to me. And having some experience with CMS development, the article has plenty of substance. You can check previous blog articles from the same author far predating LLMs - here's one from 2018: https://www.sanity.io/blog/getting-started-with-sanity-as-a-.... The main difference i see with the OP article is it's a bit more emotive - probably a result of responding to a public trashing of their product.
The main point I'd like to raise in this comment though is that one of us is wrong - maybe me or you - and our internal LLM radar / vibe check is not as strong as we think. That worries me a bit. Probably LLM accusations are now becoming akin to the classic "You're a corporate shill!".
Comparing the two articles, they have a completely different style. I wasn't totally convinced the linked article was AI generated but I am now. Clearly the author can write, so I'm a bit saddened that they used an LLM for this article
It does read very LLM-y to me, too. The short sentences, dramatic pauses – but maybe I'm oversensitive nowadays, it's really hard to tell at times.
There are some obvious tells like the headings ("Markdown is nice for LLMs. That’s not the point", "What Lee actually built (spoiler: a CMS)"), the dramatic full stops ("\nThis works until it doesn't.\n"), etc. It's difficult to describe because it's sort of a gut feeling you have pattern matching what you get from your own LLM usage.
It sort of reminds me of those marketing sites I used to see selling a product, where it's a bunch of short paragraphs and one-liners, again difficult to articulate but those were ubiquitous like 5 years ago and I can see where AI would have learned it from.
It's also tough because if you're a good writer you can spot it easier and you can edit LLM output to hide it, but then you probably aren't leaning on LLM's to write for you anyways. But if you aren't a good writer or your English isn't strong you won't pick up on it, and even if you use the AI to just rework your own writing or generate fragments it still leaks through.
Now that I think about it I'm curious if this phenomenon exists in other languages besides English...
Author here.
I don't know folks... Maybe I have been dabbling so much with AI the last couple of years that I have started taking on its style.
I had my digits on the keyboard for this piece though.
I'm willing to give you the benefit of the doubt for sure because I can see it's style rubbing off.
Someone linked this article you wrote from 7 years ago.
https://www.sanity.io/blog/getting-started-with-sanity-as-a-...
It's well written and obviously human made. Curious what you think as to the differences.
This article is just about as un-AI written as anything I've ever read. The headings are clearly just the outline that he started with. An outline with a clear concept for the story that he's trying to tell.
I'm beginning to wonder how many of the "This was written by AI!" comments are AI-generated.
If only we could take output and reverse-engineer activation layers through some parameters and get the original prompt. Imagine how much time we could save if we could read the chat transcript or the two actually human-written paragraphs this article was based on. They'd be some banal rant about a DevRel dude but at least it'd be more efficient.
Would be nice but you could probably edit it enough or splice different chat outputs together to break it.
Honestly with the way the world is going, you might as well just ask AI to generate the chat logs from the article. Who cares if it's remotely accurate, doesn't seem like anyone cares when it comes to anything else anyways.
As I read it I was just thinking "whoa, someone really just decided to pawn their site design off to AI, then complain it doesn't get CMS, then build CMS purely so they can yell their requests at the AI, and so the company making the CMS pawned off to AI writing article why using AI isn't a great way to click at their CMS"
could be summed up as "and not a single bit of productivity was had that day"
It's like a reflection of Nvidia, Oracle and, OpenAI selling each other products and just trading the same money back and forth. Which is of course a reflection of the classic economist joke about eating poo in the forest. "GDP is up though!"
Meanwhile nothing actually changed and the result is pretty much the same anyways.
[dead]