Generating a podcast is one API call now. Refusing to ship a bad one is the part that took engineering.
The middle of this pipeline is commodity: turning a script into two-host audio is a single API call in 2026, and tools that do it are everywhere. What none of them do is say no. Generated podcasts have a documented sound, symmetric turns, hosts agreeing with each other, every line restating the last one, and the only quality control on offer is listening to the whole thing yourself. The interesting problem was never generation. It was building the instrument that can tell a good episode from a bad one without a person in the loop.
The gate had to be deterministic end to end. Asking a model whether a script is good produces yes, and published work shows the obvious speech-quality metrics reward formal speech and punish exactly the fillers and turn-taking that make conversation sound human. So every check is a measurement: coefficient of variation on turn lengths, agreement markers per hundred turns, the rate at which turns introduce something the previous turn did not. The repair loop is grounded for the same reason. Unaided self-correction makes model output worse on average, so the retry prompt carries the gate's specific complaints, two attempts, and the best-scoring version wins even when that is the original.
Anyone producing recurring audio or content from a feed of source material, and anyone who has to trust automation with their voice.
The same rule as everything else here, applied to creative output: generation is cheap, judgment is the product, and nothing ships itself.
State lives in files and a data table, never in a waiting process. Every step writes its artifact and is skipped when the artifact exists, so a crash after the paid script step never re-bills it. The approval side has no Wait node at all, because waiting executions get pruned and time out silently; a finished episode parks as a pending row and the decision arrives as its own webhook call. The scheduler is Windows Task Scheduler with missed-start recovery, chosen over a workflow platform on purpose: for five sequential steps that write files, a platform is a runtime to operate, and the checkpoint is a file-exists test.
The audio is stitched, one turn at a time, so there is no overlap or interruption between hosts, and better voices cannot fix that. The next real upgrade is a one-pass dialogue model, which generates both speakers jointly. And story ranking still has no notion of whether a vulnerability is actually being exploited; for security news, exploitation status is the editorial signal that beats coverage volume, and it is one public feed away.