How I Built a Website Engine Without Writing a Single Line of Code

I've been trying to build this thing for years.

Not this exact version. But the idea underneath it. The concept that a website shouldn't have to be rebuilt from scratch every time you want to launch something new.

I first had the thought back when I noticed that web designers priced sites by the page. That never made sense to me, because most websites are really the same structure repeated. Shared layout, shared navigation, shared styling. Just different content.

If you've ever worked with databases, you see that immediately. You want to separate structure from content. So I tried. First in PHP, later with a framework called CodeIgniter. The idea worked. I built sites that way.

Then life happened, and I did what practical people do. I moved to WordPress.

WordPress solved "publish" but not "start"

WordPress can absolutely ship real websites. I still have sites running on it today.

But it never solved the part that drained me the most. Starting a new site still felt like paying a tax. Not a difficult tax. A repetitive one. Baseline structure, blog wiring, media setup, SEO basics, theme adjustments, publishing configuration. None of it is hard. All of it takes time. And that's how "someday" projects become placeholder domains that never go anywhere.

For years, that tax kept winning.

The moment I couldn't ignore

I was taking a marketing course designed for music producers. The curriculum was solid, practical stuff about building an audience and getting your work in front of people. Then the class hit the website module, and I watched creative people stall out.

The tools available forced a bad trade. Easy options meant everyone ended up with the same generic look. Flexible options meant spending hours on technical work instead of creative work. People who had real talent and real things to say were getting stuck at the starting line because the setup process demanded skills that had nothing to do with their craft.

That was the signal I couldn't walk away from.

These weren't people who needed more templates. They needed a system that could give them momentum while still leaving room for their own personality to come through. Something that handled the infrastructure so they could focus on what actually matters: their work and their voice.

Building it differently this time

Here's where the story takes a turn that surprised even me.

I started with ShipKit.ai, a starter template built around AI workflows. My friend Brandon Hancock created it, and it gave me a strong foundation to build on. From there, I leaned into a process that felt less like coding and more like directing.

I described what I wanted. AI generated the code. I reviewed it, tested it, verified the data model held up, checked edge cases, and kept moving. For the entire project, I did not hand-write a single line of code.

That's not a flex. It's the whole point.

I spent my time on decisions. What blocks should exist. How publishing should work. What the editing experience should feel like. Whether the theme system was flexible enough to let someone's personality come through without requiring them to understand CSS variables. Those are the questions that matter. The code is just how the answers get implemented.

This is exactly what Uncreative Work is about. AI didn't build Headstring Web. I built it. AI handled the implementation, the syntax, the boilerplate. The technical labor that would have kept me circling this idea for another few years.

What the engine actually does

The core concept is the same one I had years ago, just modern and visual.

Sites are made of pages. Pages are made of sections. Sections are built from blocks. Thirteen block types cover everything from headers and hero sections to blog feeds, contact forms, pricing tables, and event calendars. Each block has its own templates and configuration, so you get structure without sameness.

The theme system uses CSS variables with an AI-powered generator, which means you can get a cohesive color palette and typography setup without staring at a blank canvas trying to pick colors. The blog system is native, not bolted on as an afterthought. Publishing rules make draft versus published status predictable instead of confusing.

Custom domains connect through Vercel. Every site gets instant hosting. And because this site, the one you're reading right now, runs on the engine, I feel every rough edge immediately. If something is clunky, I'm the first to know.

Why this matters beyond my own projects

I built Headstring Web for myself first. I was tired of rebuilding the same foundation every time I had a new idea.

But the people I keep thinking about are the ones from that marketing class. The musicians who stalled at the website module. The writers who have something to say but haven't said it yet because the setup process feels like a wall. The filmmakers with a portfolio sitting in a folder somewhere instead of on a site that represents them.

The setup tax is real. It's not dramatic. It doesn't announce itself. It just quietly turns "this weekend" into "eventually" into "never."

That's the work AI is built to handle. Not your craft. Not your voice. Not the decisions that make your site feel like yours. Just the infrastructure. The wiring. The repetitive labor that sits between your idea and the moment it goes live.

That's uncreative work. And it deserves to be automated.