My Niche Sites Have a Pull Request Problem, and That's on Purpose
I run seven niche sites under five30am. Mini-Z racing, RC crawlers, homelabs, standing desks, 3D printed minis, apartment ham radio, and a dance studio directory. I have a day job and a family, so the only way this works is automation. The only way automation works is if nothing ships without me looking at it.
Everything is a pull request
Every article, guide refresh and social queue starts life on its own branch and lands as a PR. Nothing goes straight to main. Not mine, not the scripts, not the AI writers. “Done” means a PR is open and waiting for me, not that something is live. It’s slower than auto-publishing. It’s also the reason I sleep fine.
The linter knows my bad habits
I built a small tool called content-tools that runs before anything can be committed. It checks frontmatter, links, canonicals, structured data and future publish dates. It also checks things that are just about voice. Em-dashes get rejected outright, because at scale they’re the clearest tell that a machine wrote it. Another check catches Amazon links to products that don’t exist anymore. That one has saved me from more embarrassment than I want to admit.
No fake experience
The hardest rule to enforce is also the most important one. The writer never claims something I didn’t do. No invented race results, no “after two years of testing,” no parts bins I don’t own. Opinion is fine. Made-up experience is not. When a topic can’t be written honestly, the run stops and tells me instead of faking it.
The boring stuff underneath
Under the content side there’s a pile of ordinary scheduled jobs: backups, restore tests, and small canaries that alert me when something quietly stops working. None of it is clever. All of it is the reason the clever parts don’t fall over.
If you run your own niche sites and your traffic or indexing has gone sideways, this is the kind of thing I do for other people at five30am.