Dallas Crilley
Work
AI automation Live

CoHost AI Studio

Nothing publishes until it clears the gate.

An automated post-production pipeline for independent podcast studios, with a quality gate that scores eleven dimensions before anything publishes.

languages
Python 3.11, TypeScript / React 19, Rust (Tauri)
pipeline
23-step DAG, 4 profile variants
quality gate
11 programmatic scorers + 5 LLM evals
tests
6,029 Python test functions
history
2,462 commits, Feb to May 2026
repo
Private

The problem

Independent podcast producers run every episode through five to eight disconnected tools, with a manual handoff at each step and no signal when a bad master or a thin transcript slips through to publish. CoHost collapses that into one instrumented pipeline where nothing ships until quality is verified.

How it is built

  1. A DAG pipeline with idempotency and fault isolation

    Twenty-three steps run as a topologically sorted DAG on a thread pool. Each step has an idempotency predicate, so partial runs resume cleanly, and per-step cascade behavior isolates a failure (a stitch timeout does not block show-notes generation). The graph is validated for cycles at build time, before the first episode runs.

  2. An instrumented quality gate, not a vibe check

    Eleven steps are scored against programmatic metrics: LUFS delta for audio mastering, word confidence and speaker resolution for transcripts, artifact completeness for video. A weighted composite plus a per-step hard-fail threshold wires straight into the publish decision; below the bar, the pipeline halts before distribution.

  3. LLM evals layered over deterministic scores

    Five content-heavy steps add opt-in LLM evaluation via OpenRouter, each returning a criterion, score, and reasoning that merge into the scorecard alongside the programmatic metrics. Fast deterministic checks always run; the slower qualitative ones are opt-in.

By the numbers

23 steps in the podcast pipeline
11 + 5 programmatic scorers plus LLM evals
6,029 Python test functions (5,812 passing in the last gate run)
2,462 commits over a 15-week build

Where this honestly stands

Live, pre-launch. Four of five P0 launch criteria are validated; YouTube OAuth and multi-show isolation remain open. Functional and test-validated for single-show local operation.

Want the parts that are not in a public repo? I will walk you through the architecture and the decisions on a call.