← Archive // RSS

ChatGPT is my static site generator

by Nathan Pilkenton

June 2025

Summary: Instead of using a static site generator, I just copy and paste a new post and an example of an old post into ChatGPT. It's super easy and extremely flexible, with no setup required.

Blogging by hand

I’ve always written these notes on my personal site as full HTML pages. It’s a pain, but I only post once every few months, so it’s not the end of the world, and it lets me easily customize each page if I need to.

But I recently started a new blog about golf (called Random Fourth). For this new project, I was planning to write a post every other week and send it out as a newsletter on Beehiiv. In addition, I also wanted to have a web archive. That would mean much more frequent updates.

At first, I thought I would just use Beehiiv’s built-in website options, but the basic website they offer didn’t provide much design flexibility.
They’ve since launched a fully-featured website designer, which seems much more powerful — but it only comes with their paid plans, so it costs at least $50/month.

Instead, I thought I’d just use Beehiiv for the newsletter, and started looking into static site generators for the website.

A comparison of the Beehiiv web landing page versus the one I custom-designed
A comparison of Beehiiv's default web landing page (left) versus the one I designed

Cracking nuts with a sledgehammer

But which SSG should I use? There are a lot of options.

Hugo is what I’d seen recommended most often, so I installed it and started to set up a site. But even just following the quickstart, it seemed like there was a lot of overhead: installing templates, structured front matter, defining my default language, and so on. I decided Hugo was probably more than I needed for a simple web archive of my posts.

So I looked into some other generators: Jekyll, Pelican, and so on. But everything seemed to have two problems. First, most of these seemed overkill for what I wanted to do. And second, despite the overhead, many didn’t seem to provide the kind of flexibility I wanted — they relied on writing strict Markdown or fitting within a predefined way of structuring the site.

In the end, I decided to cobble something together with Jinja. I wrote a base_common.html for my header and footer, a basic template for posts, and a custom script to generate the full site from the post templates. This wasn’t quite as automated as I hoped, but it was simple, and left me with plenty of control.

Modern problems require modern solutions

After tediously copy-pasting the first couple of posts into my template, I had a thought that's becoming more and more common. Why not just ask ChatGPT to do it?

I wrote a simple prompt:

I need to put my blog post into my standard template. I'll paste the template from an old post and then the new post content. Can you update it into the correct format?

Here's the template from a prior post: {pasted template}

And here’s the new post: {pasted new post}

ChatGPT responds with a fully-populated HTML template. All I have to do is copy and paste it into a new file in my project, run my custom script, and then push the changes.

Screenshot of ChatGPT converting this post into the new template

So does it actually work?

This “GPT-SSG” approach comes with a few clear advantages:

There’s really only one main drawback, but it’s a big one: how do I know ChatGPT won’t subtly change my writing when converting into the new template? After all, LLMs just predict what’s likely to come next — they can’t directly manipulate the input text.

Surprisingly, I haven’t seen very much of this behavior. ChatGPT has been pretty impressive in replicating thousands of words verbatim. But the first time I noticed the AI had changed my writing was pretty jarring. Sure, it might automatically fix some typos for me, but without reading every word, how will I know for sure whether it’s made any meaningful changes to my post?

In the end, I’ve stuck with GPT-SSG — it’s just too convenient. I even used it for the post you’re reading now, which was written in TextEdit and then converted to my site template with ChatGPT.

Screenshot of this post being written in TextEdit

Beyond static-site generators

This experience got me thinking — what other scripting infrastructure could be replaced by “just in time AI”? Almost anything that relies on structured input would be more convenient with an AI solution: documentation generators are another (similar) example.

But it goes well beyond that. Command-line tools like Claude Code allow users to write terminal commands in natural language, never needing to look up proper syntax or read man pages again. And soon, entire libraries might be rendered obsolete by AI tools that can simply generate custom code in real-time to solve a specific problem. The only challenge will be debugging those pesky hallucinations... 


← Archive // RSS