ChatGPT & Me

ChatGPT and me:

Or how I learned to stop worrying and love AI

I’ve been using WordPress for over ten years now, and as such I know my way around the backend to a respectable degree. I can wrestle a custom theme into submission and have a solid grasp of front-end CSS and JavaScript. Enough, in short, to be dangerous.

But when it comes to the deeper, murkier layers of development; custom Gutenberg blocks, scroll-triggered animations, basically anything involving @wordpress/scripts, I’ve always deferred to actual web developers. The real ones. The ones who know what to do when npm starts shouting or a render.php file refuses to play nicely.

So, when I set out to rebuild my design portfolio entirely solo, I found myself staring into the abyss of technical ambition without so much as a safety net. The collaborative environment, where creative ideas flowed freely and someone else handled the baffling bits, was no longer available to me. I was alone with my vision. And with no developer to hand, I found myself asking a distinctly 2020s question: Could a large language model like ChatGPT serve as my de facto web developer?

This blog is the story of that experiment, and what I learned about working side-by-side (ish) with AI.

the mother of invention

With that question lingering, I opened a blank project folder and prepared myself for a journey into the parts of WordPress I’d previously skirted around. This time there would be no handing things off, no helpful developer on the other end of Jira, just me, ChatGPT, and a vague sense that surely someone, somewhere, had done this before.

To begin with, I knew what I didn’t know: how do you even set up a development environment to start writing custom blocks? What needs installing? Where does the code live? ChatGPT proved remarkably adept at walking me through it all, from spinning up a local WordPress install to configuring @wordpress/scripts, complete with the necessary build tools and folder structure. It wasn’t without its frustrations but, before long, I had a setup I was happy with, and the framework in place to attempt my first block.

I started simple, a proof of concept, just to see if I could get something, anything, to appear in the editor. And it worked! I had a functioning custom block, coded with ChatGPT’s help, styled with my own CSS, and rendered with PHP on the front end. It was an oddly thrilling moment. Maybe I could do this after all. Maybe, with the right prompts, I really could get ChatGPT to generate the code I needed, not just scraps, but coherent, functional components. Perhaps it would all be as painless and efficient as I’d hoped.

When the Loop Becomes a Loop

Of course, soon it wasn’t all smooth sailing. For all the moments of wonder, there were also moments that felt like banging my head gently, then not so gently, against a well-formatted wall of JavaScript.

One of the most persistent frustrations was a kind-of feedback loop. I’d write a thoughtful prompt for some code, it wouldn’t work. I’d then try something else, still nothing. ChatGPT would then confidently suggest… the first thing again. I’d remind it we’d already tried that and it would, very politely, promise to remember not to repeat itself, only to suggest the same approach five replies later. Groundhog Dev.

Sometimes it felt like having a well-meaning but narcissistic assistant who was brilliant on paper but incredibly forgetful and oddly persistent in their wrongness, confidently incorrect until called out to their face!

And, to be fair, sometimes the issue was me… I’d inexplicably fumble a copy paste, or forget to run terminal command npm start, but ChatGPT would never asked me to double check anything on my end. Not until I prompted it to, and then, like flipping a switch, it suddenly started insisting it was definitely my fault, on repeat. Which, while occasionally accurate, became rather grating in the way only a machine politely blaming you can be.

All this at times lead to an almost unbearable uncertainty, never quite knowing whether what I was asking for was actually achievable, or whether I’d even be able to convey to a LLM what I actually wanted to achieve without the requisite prior knowledge. That ambiguity lingers longer than it should, and without a real developer to sanity-check your idea, you sometimes find yourself stuck wondering whether the problem is technical… or just your own imagination/ambition overreaching. You don’t know what you don’t know, and ChatGPT doesn’t either!

Blood, Sweat and Blocks

After a lot of frustration and godlike levels of perseverance, after all I had no one else to turn to, things really did start coming together. I had the custom blocks I needed to replicate my initial designs and the hover and scroll animations I had once only seen in my mind’s eye. There were, of course, some concessions I had to make. My vision was not 100% realised, but that is often the case when working with real developers. Sometimes, as a designer, you just have to relax in your pursuit of, in your opinion anyway, absolute design perfection. After all, when the clock’s ticking, good design delivered beats perfect design imagined.

I do wonder what a real developer would make of the code, or of the roadblocks I hit on the way to achieving my vision. There’s a fair chance ChatGPT hasn’t been entirely correct the whole time. That, in turn, leads to what I consider one of the biggest challenges with using an LLM for web development, or any coding for that matter. You never truly know whether the sycophantic bastard is leading you down a merry path or genuinely empowering you. Like I said before, you just don’t know what you don’t know. And that is why, for now and perhaps the foreseeable future, working with a human web developer is entirely preferable. They at least don’t lie straight to your face. Or at least, I don’t think they do…

What I Learned (I Think)

With its help, I’ve created this entire website and, truth be told, this blog. That in itself is quite remarkable. There’s little doubt that AI and LLMs are the future, as anyone who has spent any time with ChatGPT will probably attest. Whenever a random question crops up, on just about anything, it’s usually my first port of call. Google certainly must be getting worried. At the moment though, ‘Googled’ still sounds far slicker than ‘ChatGPT’d’. Once an LLM comes up with a name that can be seamlessly turned into a verb, without sounding ridiculous, it could be game over for search engines as we know them.

But while that future is undeniably exciting, LLMs perhaps still need to figure out how to monetise themselves more effectively, in the way Google did when it launched AdWords back in October 2000. Without that clear revenue engine, which ensured the product remained free for the user, they may remain brilliant paid assistants rather than full-blown societal transformative platforms. To be fair, though, they are already most of the way there.

One can only wonder, with the inevitable exponential growth in its capabilities, what the future for AI will look like. For now, though, I have this kick-ass website.

Matt Philpotts
August 2025