Building a website with AI - the state of ChatGPT
A few months ago, at the start of what should have been a glorious Guernsey Summer, I published a new website - DipNDine.gg, and what’s more, ChatGPT wrote 80% of the code for me.
The site was as much a personal hobby thing as it was an evaluation of just what could be achieved with ChatGPT. I mean, everyone loves a Dip and Dine right? (If you need to ask what a DnD is then please go to the site and find out!) I’d had the idea to publish the various locations that you can Dip and Dine in the Bailiwick of Guernsey but it was just never quite high enough up the priority list. There were some challenges… indeed some technical challenges that I wanted to have a go at… and, well, you know - time, life… it’s difficult.
Until ChatGPT came along and I figured it was one way of figuring out what all the fuss was about. We’ve all heard the hype about what it’s good - and not good - at, so let’s give it a go!
Let’s go prompting
I fired up ChatGPT 3.5 (latest at the time). I’ve got some experience with Bootstrap over at digits.gg and given that that’s in dire need of an upgrade I thought this might be a good chance to learn what was new.
So a very basic prompt and within literally seconds I have a fully responsive HTML template. Tidy! It showed a map using Google Maps, and I asked it to switch out to Leaflet, and it merrily complied…
How about Tailwind instead of Bootstrap?
And so it went on. I got more and more annoying about some of the tweaks I wanted and it nevertheless very gaily did its best to answer my questions, including providing code for modals, popups and even the CSS code for gradients. Nice.
Or was it?
I still had to do a bit of work to turn the template in to an actual working website, but this shouldn’t be so surprising. There is however, a slightly larger issue here. Pre-Google, wannabe developers had to actually learn things, primarily from two sources: (1) books [and other printed content] and (2) trial and error - painfully changing things until it worked.
Enter search engines, StackOverflow, content on demand and large language models which provide a new interface for content delivery… one that provides virtually no barrier (other than figuring out the right prompts/search terms) and… have we lost the ability to genuinely learn and master new technologies?
The DipNDine website is fully functional in all the ways you might expect and so does exactly what is needed… but am I now a Tailwind CSS expert?
Absolutely, emphatically not. As soon as the changes I wanted to make drifted beyond the abilities of ChatGPT to answer my prompts, or for me to easily figure out from the documentation, and it was game over. So this required me to invest time in actually learning this stuff… which is sort of back to the starting position.
The answer to whether that matters, though, will be answered differently by different people.
- What’s the objective? What’s more important?
- Build the site. Learn the technology. Become good at it. Be able to repeat, learn and expand from there.
- Build the site. Complete the objective. Move on.
Which would you rather be?
Nowadays, it’s become important - indeed, valuable - to rather than know some technology, but instead know where to find the answer. Your Google-FU (to coin a 00s term).
ChatGPT right now
ChatGPT right now is an astonishing new search engine. Its ability to find information but then distil it in modern accessible ways is spectacular.
But I asked it to write this blog post..
and it was absolutely appalling. Utter, utter tosh.
The only reason I’ve left it intact is because it helpfully formatted everything in Markdown, so it gained a bonus point, and an additional point for pointing out that it was auto-generated and was therefore likely to be a load of bollocks (paraphrasing that last paragraph.)
So as of September 2023, here’s the TL;DR on ChatGPT:
- Good for learning provide you can put the time in
- Bad for creating new human content
It is inevitable that this will change and improve over time, though.