← Back to Blog
Building

Burning It Down: How I Rebuilt PJK.net From Scratch

A security breach was the last straw; the cathartic process of burning my Wordpress site to the ground and starting over with a custom-built CMS.

PJK
PJK
Jul 20, 2026 · 5 min read

For years, PJK.net just… sat there. It wasn't doing anything. It wasn't saying anything. It was a domain with my name on it and not much of a reason to exist. Every time I looked at it I felt that little pang of "I should really do something about that" — and then I'd close the tab and not do something about it.

This is the story of finally doing something about it.

WordPress had to go

The old site ran on WordPress, like about half the internet does. And to be fair, WordPress can do almost anything — as long as you're willing to bolt on a dozen plugins, keep every one of them updated, and accept that each one is another door someone could walk through.

That last part stopped being hypothetical. The site had a security breach. Somewhere in that tangle of themes and plugins and things I'd installed and forgotten, a hole opened up. And that was the moment it clicked: I was maintaining a small, complicated, slightly dangerous machine to run a website that wasn't even doing anything for me. To add insult to injury, some jerk had weasled in through a plugin and installed code that was just sitting there rent-free like a cyber-squatter.

So after a few rounds of isolating and assessing the breach, I made a decision that felt drastic and turned out to be the best call of the whole project. I stepped back ten paces, took a breath and lobbed a Molotov cocktail at the whole darn thing. I wiped WordPress out entirely. Not migrated. Not cleaned up. Gone.

I used to build to the theme

Here's how the old way actually worked. I'd find a WordPress theme I liked, download it, and then spend my time bending it toward what I had in mind. That only ever worked up to a point. Every theme has opinions baked into it — things it lets you change and things it simply won't. I wasn't building the site in my head. I was building the site the theme would allow. I was building to the theme.

This time was completely different, and the difference wasn't just "from scratch instead of a template." It was how I did it.

Instead of hunting down code snippets and wrestling with CSS myself, I had a conversation. I talked through what I wanted with Claude Design, which handed the look and feel off to Claude Code, which built the actual site from it. I described what I was going for, we went back and forth, and the thing took shape — not because I hand-coded it, but because I could explain it.

Then we did the same thing for the CMS. Start with a conversation. Talk it through with Claude Code, back and forth. Make a plan, execute the plan, get it running, refine. It was a completely different beast from either coding the whole thing myself or digging up some open-source CMS and forcing my needs into its shape. This was the opposite of building to the theme. This was making a glove that fit my hand perfectly.

A CMS with no fluff

Because it was built for exactly one website — this one — there's nothing extra in it. There are no plugins, because there's nothing to plug in; every feature is one I actually asked for. There's no settings page full of options I'll never touch. There's no bloat, because I never added any. It's powerful where I need power and quiet everywhere else. No fluff, no filler.

And — this matters more than I expected — it's genuinely beautiful to use. Writing a post doesn't feel like fighting a dashboard. It feels like the tool is on my side.

The parts I'd never heard of

Here's the honest part: I didn't know a lot of this going in. Along the way I picked up several pieces of technology I'd never touched — and every one of them came in as a suggestion from Claude that I decided to trust. They're a big reason the site turned into what it is.

GitHub was the first thing that was brand new to me. I'd always just published straight up to my hosting and hoped for the best. Now every version of the site lives in a repo — which turns out to be a proper backup and a real security measure, not just a place for the code to sit.

Supabase is where everything lives now — the posts, the images, the logins. In the past I'd always reached for PHP and a database I had to babysit. Supabase was a recommendation, I took it, and now it just works — secure by default in ways my old plugin pile never was.

Vercel is what puts the site online, and it's the one that still feels a little magical. When I make a change, I save it, and Vercel quietly rebuilds and ships the whole site to the world in about forty seconds. No FTP, no "maintenance mode," no crossed fingers. It's live. I'd never used it before this either.

Next.js is the framework the whole thing is built on — it's why the pages load fast and feel modern instead of creaky.

I went from "never heard of these" to "couldn't imagine the site without them" in the span of one rebuild.

Most of it happened in one day

Here's the part I still can't get over. I started with a pencil sketch on a scrap of paper — a rough flow chart, boxes and arrows, my whole site as a little diagram. By the end of that same day, the sketch was a real, running website with its own CMS behind it.

Something like eighty percent of what you're looking at was built in that one day. The rest came together afterward in small bursts — quick conversations that went "oh, wouldn't it be nice if…," or "how about this does that instead," or "can I get one more of these," or "what about a delete button over here?" None of those are heavy lifts on their own, but stacked together they're what turn a working site into a solid one.

A full website and its own CMS, in a day. I've been at this a long time, and that was unheard of to me.

A lot of that speed comes down to one last tool: Wispr Flow. It's voice-to-text, but the AI trims out all my ums and ahs as I go — so I don't type any of this, I just talk. That's what made the whole "conversation" idea literal. I'm not writing prompts; I'm speaking, in my own voice, and it turns what I say into what gets built. It's far faster than typing, and I suspect it's going to change how much I get done on everything from here on — not just this site.

0 day
What it took to build most of this from scratch.

It fits in my pocket

The feature I'm proudest of is the one I use the most. When I'm out in the world and I find something worth sharing — a link, a photo, a stray thought — I hit Share on my phone, tap Send to PJK.net, and it lands in my CMS as a draft, already formatted, with the headline and preview image pulled in for me. A few seconds later I add a line of my own and publish.

That's the whole thing. The site meets me where I am instead of making me sit down at a desk to feed it. It's the difference between a website that's a chore and one that's actually part of my day.

What it is now

PJK.net isn't sitting there anymore. It's a site I built on purpose — well, talked into being on purpose — that does exactly what I want, that I actually enjoy using, and that I'm no longer a little afraid of. Turns out the fix for a pointless website wasn't a better plugin. It was starting over, and doing it by conversation.

Written by PJK
← More essays
PJK
© 2026 PJK.net