The Pre-purposed Pipeline, Step by Step: From One Video Interview to Ten Published Assets
The operations guide for the Pre-purposed content machine. Every step from a guest booking the recording on Calendly through the final LinkedIn post — with the actual links, file paths, and commands a teammate or contractor would need to run it.
Key Takeaways
- 20 numbered pipeline steps from Calendly booking to LinkedIn post. 19 of 20 are operational as of May 26, 2026 — only the fully-headless orchestrator kickoff is still queued.
- The operator's only manual jobs: record, trim the gaps, export from Riverside, upload MP4s to YouTube as Private, paste the LinkedIn draft. Everything in between runs itself.
- A folder watcher fires on every Riverside download — auto-archives to a per-session folder, generates per-short transcripts via Whisper, and renames each file with a GEO-optimized slug via Claude Haiku 4.5. Cost: about $0.0005 per file.
- Nothing ships blind. Every run opens a pull request with a Netlify preview URL — the operator merges only after reviewing.
- The hand-off test: the machine isn't 'real' because Dane can run it. It's real when a teammate or contractor can run it end-to-end without asking a single clarifying question.
The companion essay to this post — I built a machine that turns one interview into ten-plus published assets — explains why the Pre-purposed system exists. This post explains how it runs. If someone else had to operate the machine tomorrow, this is the doc they'd need.
The pipeline at a glance
One booking. Two humans (the guest and the operator). Two manual button-pushes after the recording — the rest runs itself.
- BUILTGuest books a recording slot at calendly.com/danefrederiksen/video-recording.
- BUILTTrim the gap at the start and end of the recording only. No other edits. Export as the full-length interview MP4 — it downloads with the word "Riverside" in the filename.
- BUILTExport the full transcript from Riverside (Recording tab → Transcript → Export). Lands in the same Downloads folder. Always pull from the Recording tab, not the edited version — the unedited transcript is the master.
- BUILTExport the shorts from the long-form. Cut them manually, or use Riverside's auto-suggested clips if they're appropriate. Each short downloads with "Riverside" in the filename.
- BUILTAuto-archive kicks in. A folder watcher monitors the operator's Downloads folder. Detection reads the macOS
kMDItemWhereFromsextended attribute on every new file and only acts on ones whose source URL is fromriverside.com. Each file lands in a per-interview session folder — a new session folder spins up automatically when more than 30 minutes have passed since the last drop. Filenames are cleaned (Riverside markers, Chrome(1)suffixes, HTML-encoded&) and each session gets a manifest that pairs every media file with its transcripts and marks which transcript is canonical (Riverside master) vs. Whisper-generated. - BUILTPer-short transcripts get generated automatically. Riverside only exports a transcript for the full recording — not for each short. The watcher fills the gap by running Whisper (small open-source model, Apple Silicon) on every moved media file. A 22 MB clip transcribes in ~3 seconds. The transcript lands next to the clip at the same base name. Skipped if a transcript already exists.
- BUILTFiles get renamed to GEO-optimized slugs. As soon as Whisper finishes a transcript, the automation sends it to Claude Haiku 4.5 via the Anthropic API. The model reads the transcript and returns a 4–7 word lowercase dash-separated slug engineered to read like a search query (e.g.
where-do-llms-train-data-from-most.mp4). Both the clip and the matching transcript get renamed to share the new slug. Cost: about $0.0005 per file. - BUILTUpload the long-form MP4 and each short MP4 to YouTube Studio as Private drafts. This is the one remaining manual upload. Don't type any metadata — the automation fills it in next. Source the files from the session folder.
- BUILTThe watcher detects when a session is complete — 5 minutes of no new file moves and no in-flight Whisper jobs. A macOS notification fires with the suggested trigger phrase, and the session's manifest is stamped
ready_for_masterblaster. The operator clicks into Claude Code, types the trigger, and the publishing orchestrator runs. (Full auto-kickoff without a human in the loop requires an LLM API key — queued for V2 once the article, short, and metadata generators can run headlessly.) - BUILTYouTube metadata gets patched. The YouTube metadata generator produces titles, descriptions, tags, and chapter markers; an API patcher pushes them onto every draft via the YouTube Data API.
- BUILTThe full-length article is generated from the master transcript by the article generator: ~1,200 words, H1, H2s, FAQ block, JSON-LD schema. Structured to be cited by ChatGPT and Perplexity.
- BUILTOne landing page is built per short by the short-page generator, using that short's own generated transcript. Each page embeds the YouTube clip and includes the matching transcript text. Engineered to answer one specific question an AI engine might ask.
- BUILTBlog posts get published. The article + all shorts pages are committed to a branch, a pull request opens on the website repo, and the operator gets a Netlify preview URL. Merge it. Site goes live in ~30 seconds.
- BUILTYouTube videos flip Public. The "wait for blog to be live first" gating is still manual — for now, run it after merging the PR.
- BUILTThe transcript is parsed for topics, quotes, and contributor metadata. Every notable line from the guest is tagged with their name, the topic, the source article URL, and the source video timestamp.
- BUILTEach quote is filed into the searchable contributor database. Queryable by quote text, by person, or by topic.
- BUILTGaps in the book's table of contents auto-fill. The chapter slug on the article frontmatter is matched against the Pre-purposed outline, and surfaced quotes are queued as candidate brick material for that chapter. New themes that orphan-cluster into a coherent group are surfaced as candidate chapters in an interactive promotion CLI — the operator promotes, skips, or rejects each.
- BUILTThe LinkedIn post is drafted by the LinkedIn drafter: post body, first comment with the article URL, and an image brief. Output lands in a per-guest draft file. Operator pastes into LinkedIn and posts. This stays manual on purpose.
- BUILTThe Contributors page on the website lights up with the new guest, their article, their shorts, and every searchable quote — all queryable by person, topic, or quote. Live at /contributors.
- BUILTThat same page tells the story of the book project — what Pre-purposed is, how the machine works end-to-end, and a call to action for any B2B team that wants this kind of system built for them. Live at /book and /how-it-works.
What the operator never has to do
No CMS clicking. No typing YouTube metadata. No writing the LinkedIn post from scratch. No copy-paste between systems. No chasing a quote across transcripts. The only judgement calls are: did the guest say something worth shipping, does the cut feel right, does the preview read in our voice. Everything else is mechanical, so Claude does it.
Want this kind of system for your team?
We help B2B teams who already record video turn it into a publishing system that compounds. 30 minutes. You'll leave with a map of what you have, what's leaking, and what to wire up first.