December 23, 2025 |

I’ve written a lot of code this year and the vast majority of it I did without too much help. However, I did turn to AI (mostly ChatGPT) when I needed either a specific function written or some help with a particular issue.
What I hadn’t done was use AI to write a complete program without any code from me. I believe that this is termed “Vibe Coding“, named Collins Dictionary’s Word of the Year for 2025. Not a phrase that particularly appeals to me but I don’t get to choose.
Going with the Flow
Then, yesterday, I had the need for a new WordPress plugin for one of my sites. Spec…
December 23, 2025 |

I’ve written a lot of code this year and the vast majority of it I did without too much help. However, I did turn to AI (mostly ChatGPT) when I needed either a specific function written or some help with a particular issue.
What I hadn’t done was use AI to write a complete program without any code from me. I believe that this is termed “Vibe Coding“, named Collins Dictionary’s Word of the Year for 2025. Not a phrase that particularly appeals to me but I don’t get to choose.
Going with the Flow
Then, yesterday, I had the need for a new WordPress plugin for one of my sites. Specifically I needed something that displayed latest updates to the site drawn from a database table. I thought that this would be an excellent opportunity to see how well AI could perform on what was a relatively simple task.
I have a GitHub Copilot subscription which I mainly use in VS Code to help error check and suggest small blocks of code. This seemed like a good time to stretch it’s legs so I opened up the chat window and give it this prompt:
I’d like you to write me a wordpress plugin to do the following:
- it needs to be called “Reading Guide Latest Updates”
- it must have an entry in the menu on wp-admin
- it needs to have it’s own table in the WP database with three columns: id (auto increment), date (timestamp) and text
- table needs to be created/checked for on activation
- clicking the admin link takes you to a page that at the top has a field where you can enter a string of text or html which when you press save is added to the table in the database. Below the field must be a table of the entries in the database. This should be a datatable
- there needs to be a shortcode [rglu] that when included in a page displays a bar. The bar should have a light grey background and within the bar should be the date in dd/mm/yyyy format followed by the latest text entry in the table.
- after the text should be <> icons that allow you to move forward and backwards through the news items. The < icon must be greyed out when the last item is being shown and the > icon must be greyed out when the first item is being shown
- the text must now overflow onto two lines
The First Attempt
AI (Claude Sonnet 4 in this case) worked away in the background, happily talking to itself, or maybe updating me on its progress I’m not sure, until it came back and said that it was done. Making the bold claim that it had produced “production-ready code” that “met WordPress coding standards”.
I have to say that what it had done was produce some well structured code with files such as the css and Javascript neatly tucked away in an assets folder. Time to see how it performed…
The Back-end
I zipped up the code as given, uploaded it to a test WordPress instance and activated the plugin. I must admit I was expecting the site to not work at all but life went on and everything worked fine. I went to the admin panel and there was a new entry, just as I had asked, called Reading Guide Updates. This took me to the page that you can see in the header. Interestingly, I noticed that Claude had actually added a feature that I HADN’T asked for – the ability to delete entries from the table. This was something that I had considered for the initial prompt but rejected so I was surprised and impressed to see it there.
The Front-end
I added a few entries to the database and then went to the site to see what it looked it. Again, I was impressed that it was probably 90% done. There were just two issues:
- any HTML added to the text was stripped from the output
- long text wasn’t being truncated so you had to scroll right to read it all.
I went back to VS Code and issued a couple of new prompts, such as:
There was then a bit ot toing and froing until I got exactly what I was looking for.
The Final Result
You can see the live version of the plugin here and I think that it has worked out better than I expected. Despite 40 years of development experience I am not very good at UI. In fact I’d go as far as saying that I’m shit at it. It is, of course, a different discipline but Claude has made a much better job of it than I ever could. And quickly too. I think that from start to finish the whole process took less than an hour.
When I started work in 1988, the first programming language I used was the 4GL Application Master, and I was told that this was the last language that would need developers. In the future, we would just ask, and code would be generated for us. 37 years later, that finally seems to be becoming a reality. I’m not sure that developers need to be too concerned just yet, but a change is definitely coming, and the production of code is being more democratised.
If you want to take a look at the code Claude produced you can see it on my GitHub page and it is free to use as you wish should you be in the market for such a plugin.