
I didn’t invent the idea of a “site engine” recently.
I’ve been circling the same concept for years, sometimes building it myself, sometimes outsourcing it to a CMS, sometimes just avoiding new site ideas because I didn’t want to pay the setup tax again.
This time, I finally shipped the version I actually wanted, and the way I shipped it surprised even me.
A long time ago, I learned that many people priced websites by page.
That never sat right with me, because most sites are the same shapes repeated:
shared layout
shared navigation
shared styling
different content
If you understand databases, you naturally want to separate structure from content.
So I did, first in PHP, later more cleanly with CodeIgniter. The idea worked. I built sites that way.
Then real life happened, client needs happened, and I did what a lot of practical people do.
I moved to WordPress.
WordPress (and builders like Elementor or Avada) can absolutely ship real sites.
I still have sites running there today, including client work and my own projects.
But it never solved the part that drained me the most:
Starting a new site still felt like paying a tax.
Not hard, just repetitive:
baseline structure
blog wiring
media setup
SEO basics
theme tweaks
publishing rituals
That’s how “someday” sites become placeholders.
In a marketing class for music producers, I watched creative people hit the website module and stall out.
Tools often force a bad trade:
easy, but everyone ends up with the same vibe
flexible, but now you’re doing technical labor instead of creative work
That was the signal I couldn’t ignore.
People don’t need more generic templates, they need a system that gives them momentum while still leaving room for personality.
Here’s the key difference with Headstring Web.
I built it from a ShipKit.ai template, the kind of starter that’s designed around AI workflows and background tasks, especially for things like long-running jobs and processing.
Then I leaned into a workflow that felt less like “coding” and more like “directing”:
ShipKit gave me a strong starting structure
I used AI-driven tasks to add features step-by-step
I mostly did verification:
does it compile?
does it behave correctly?
does the data model hold up?
does the UI match the intent?
do edge cases break it?
For this entire project, I did not hand write a single line of code.
I made decisions, reviewed what got generated, tested it, and kept moving.
That experience made a quote click for me that I had seen online, and it stopped sounding crazy.
Eden Marco wrote on LinkedIn: “I haven’t written a line of code in over a year,” in the context of using coding agents differently, more like delegated systems than copilots.
I’m not claiming I’m living that life forever, but I now understand how someone gets there.
The backbone is still the same idea I had years ago, just modern and visual:
Sites → Pages → Sections → Blocks
From there, the tool became a real daily driver:
Visual building with 18 blocks and lots of templates
Themes via CSS variables, plus AI theme generation to skip blank-canvas paralysis
Blog system that feels native, not bolted-on
Publishing rules that make draft vs published predictable
Custom domains through Vercel, plus instant hosting at /sites/[slug]
And yes, this site lives inside the engine, which keeps me honest. If something feels clunky, I feel it immediately.
First, it’s for me. It stops me from rebuilding the same foundation over and over.
But I also think it fits a bigger group, especially creators:
people who want structure that prevents chaos
people who still want their site to feel unique
people who get stuck at “setup” and never reach “publish”
The best compliment I can imagine is someone saying: “I finally shipped my site, and it still feels like mine.”

I pulled 800 readings off a blood glucose meter with a browser tab. The meter was right about all of them. My parser was six hours wrong about every single one.

Five separate bugs in one week of training-data work, and every one of them was the same bug: I had been auditing the description of the data instead of the data.

My deploy box is not allowed to commit code. Last week I found out it had been quietly fixing itself anyway, and those fixes existed in exactly one place on earth.

My wife has written down every movie we watch together since 2023.

My UI announced a failure for a job that was fine. Three fixes later, the one that actually solved it was deleting a client-side timer that measured nothing.

Putting a working pipeline on a schedule surfaced four bugs that were invisible on run one, including one that ate 12,563 business formation records.

My writing app's assistant kept saying it couldn't see the world bible. It took four commits to find out the file was 269 characters over the budget.

Permission dialogs sat on my agent's console until I happened to notice. Building a watcher that could see them, and click them, meant OCR, geometry, and one very small allowlist.

This week I deleted a cloud job runner and moved my site builder's AI onto a Mac Mini in my house. The reasoning beat the wiring.