The Stack That Stops AI Slop

By Jack Stovell · 2026-08-05 · Guides

The Stack That Stops AI Slop

I read four Substack posts last month before realising they'd all been written by the same tool. Different founders, different products. Same rhythm, same three-bullet summary bolted on the end. One of them literally opened with "let's dive in". Not one of them sounded like a person. That's the thing nobody wants to say out loud: we've made publishing free and effortless, and the price is that everyone now sounds identical.

I run ScriptGrain, so obviously I've got a horse in this race. But that's exactly why I've spent the past year building a stack that does more than produce content faster. It produces content that still sounds like me when I've had three hours of sleep and a backlog of feature requests. Here's what that looks like, tool by tool, friction included.

The stack

ScriptGrain, for voice profiling and generation. This is the anchor. It takes a real sample of your past writing (blog posts, emails, whatever you've got), builds a profile of how you actually talk, sentence rhythm, filler words, the lot, and generates drafts against that profile instead of the flattened "helpful assistant" tone every generic tool defaults to. Why this one? Because I got tired of spending thirty minutes un-robotting AI output before I could publish it. That thirty minutes was the whole cost centre. The friction is real though: you need a handful of solid writing samples before the profile is worth anything. Skip that step and you'll get the same beige output as ChatGPT. One tip that matters more than the rest: feed it your rough, rambling first drafts. Polished writing hides you. The mess is where your voice lives.

Perplexity, for research. Fast, cites its sources, and genuinely good at mapping what's already been said on a topic before you write a word. I won't oversell it; half this audience uses it daily. The reason it earns a slot is trust. I won't rely on a research tool that hides its working. Try this: use it to find the strongest counterargument to your take, rather than more supporting evidence. Your piece gets sharper once you've argued with yourself.

Ghost, for distribution. I moved off Substack a while back, mostly for ownership reasons, partly because Ghost's editor is nicer to write in. You get newsletter, website and memberships in one place, with no algorithm deciding who sees what. One habit worth stealing: schedule posts for the same day and time every week. Consistency builds more trust than any single banger.

Descript, for repurposing. If you record founder updates, demo walkthroughs or podcast appearances, Descript turns that audio into text you can lift quotes from. Most of my best writing doesn't start as writing. It starts as me talking through a problem out loud, and the transcript catches that before I've had a chance to sanitise it. Do the transcription first and the voice edit second. Don't tidy anything before ScriptGrain sees it; the rough edges are useful data.

Notion, for the editorial calendar. Boring, I know. But it's where the whole operation lives: topics, drafts, publish dates, half-formed ideas I'll never write. It's flexible enough that a one- or two-person team doesn't need a "content ops" hire just to maintain a spreadsheet with opinions. Keep a running voice-notes page and dump raw takes there the second you have them. Half my best posts started as one angry sentence typed at 11pm.

None of these tools matter much on their own. That's the point I keep coming back to. Research, transcripts, a calendar and a publishing platform are plumbing. Run all of it through a generic AI writer at the end and you've built a very efficient slop machine. The voice layer decides whether any of it sounds like you, which is why ScriptGrain sits in the middle of everything else rather than bolted on at the end.

The weekly workflow

Here's how it runs, Monday to Friday, for a team of one or two. No agency, no content meeting. Just the stack doing its job.

Monday is triage. I open Notion and look at what's queued. Usually there's a half-formed idea from the week before, something I said on a call and flagged as "this could be a post". Twenty minutes in Perplexity pressure-tests it: is this actually a take, or something everyone already agrees with? If it survives, it becomes a draft.

Tuesday is rough shape. No full sentences yet, just bullets and the two or three claims I want to make. If there was a podcast or customer call that week, this is when I pull the Descript transcript and grab anything that sounds like me thinking rather than me presenting.

Wednesday, everything goes into ScriptGrain. People assume this step is instant. It isn't, quite. The profile does the heavy lifting, but I still read the draft back and flag anywhere it's drifted generic, anywhere it could have been written by anyone. I also run the AI-detection check at this point, because "sounds like me" and "reads as machine-written" are separate problems, and you want to catch both before an editor or a reader does. The feedback loop matters. My edits get shorter every few weeks as the profile tightens.

Thursday is the edit, in the cutting sense. If a sentence sounds like marketing copy, it goes. If a paragraph could appear on someone else's blog with the company name swapped, it goes. Usually a twenty-minute pass.

Friday, it goes into Ghost, scheduled for the following Monday. I never publish same-day. A night's sleep catches things a spellchecker won't.

That's it. Five tools, five days, one piece that's actually mine. Some weeks two, if a research thread runs long. Nobody's publishing twelve times a day on this. It's built for a founder with maybe four hours a week to spend on content, total.

The honest bit

ScriptGrain is early. One founder, a young blog, no eye-watering engagement charts to wave at you. So I'm going to skip the invented statistic; you've read enough posts that close with one.

What I can offer is happening in front of you. This post was drafted against my own voice profile, on exactly the stack above. The first pass out of the generator already had my rhythm in it, grumbling included, and my edit was a trim rather than a rescue. A year ago the same draft would have cost me half an hour of un-robotting. Minutes instead of half-hours, multiplied across every post I'll ever publish. That gap is the entire reason this stack exists.

If you take one thing from this, take the ordering: start with the voice layer, then let everything else feed it. Dig out your last few pieces of honest, unpolished writing and see what your voice profile actually looks like. It takes a few minutes, and it'll tell you quickly whether your content sounds like you or like everyone else.

Speed was never the hard part. Anyone can publish more. The hard part is publishing more and still sounding like you, specifically, on a Tuesday, slightly tired, mildly opinionated. That's the job the voice layer does, and it's the only reason the rest of the stack earns its keep.

---

By Jack Stovell, founder of ScriptGrain. I build the product this blog writes about; everything here comes from shipping it. See how ScriptGrain works.

More from the ScriptGrain Journal

ScriptGrain · Why ScriptGrain · Sample voice profiles · The Journal · Support