This is the actual workflow we run to ship ANN Live every day. Not an aspirational version, not a marketing version — the version that produced the article you're reading now and the video that goes with it.

We'll walk through the five stages, name every tool, share the rough cost, and call out where we'd cut corners differently if starting fresh.

The shape of the workflow

Five stages, run roughly in sequence:

  1. Research — find and triage stories worth covering
  2. Script — turn research into an article-grade draft
  3. Assets — capture source screenshots and any demo footage
  4. Render — produce the video version from the script and assets
  5. Publish — ship the article, the video, and the social derivatives

Total wall-clock time per news story, end to end: about 4–6 hours of human work. Without the AI tooling described below, the same output would take 12–14 hours and quality would be lower.

Stage 1 — Research

What we use:

  • Perplexity Pro — primary source discovery. We feed it a draft topic ("OpenAI shipped GPT-5.5 today, what's the substantive change") and triage from the citations.
  • Twitter/X — supplementary signal. We follow ~80 AI accounts and read the tab once a day.
  • HackerNews + LessWrong + AI subreddits — community reaction layer.
  • Direct vendor blogs and arxiv — primary sources for any claim that goes into the article.

What we built:

A simple research-packet generator. Given a story, it produces a structured packet with the original announcement, two skeptical takes, two enthusiastic takes, and the relevant raw sources. Built on top of the Perplexity API + a Claude wrapper. About 20 minutes of dev work, saves 30 minutes per story.

What we'd skip:

We do not use any of the "AI news summarizer" or "trending topics" SaaS tools. They optimize for breadth; we need depth on a small number of stories per day. Same reason we don't use Google Alerts.

Stage 2 — Script

What we use:

  • Claude (Sonnet 4.6) — primary writing partner. It does not write articles; it pressure-tests our drafts.
  • Notion — outline workspace and editorial calendar.
  • Our own voice prompt — a 600-word system prompt that defines the ANN Live voice, run on top of Claude when drafting.

The actual loop:

  1. Editor writes a 4–6 sentence outline in Notion (15 min).
  2. Editor writes the first draft in plain text without AI (40–60 min). This step is non-negotiable. Skipping it produces lifeless drafts.
  3. Editor pastes draft into Claude with the voice prompt and asks for three things: tighten the lede, surface anything overstated, suggest the cut paragraph. Edits get reviewed and selectively applied (15 min).
  4. Editor reads the final draft aloud to themselves (5 min). If a sentence is ugly out loud, it's wrong. This catches AI slop better than any tool.

Total time: ~90–120 minutes for an 800–1200 word article.

What we tried and dropped:

We spent a month with Claude as the lead writer and the editor as the reviewer. The articles were technically fine and read like nobody had written them. The cost of the "second pass" needed to make them sound human was higher than the cost of writing the first pass ourselves. We dropped it.

Stage 3 — Assets

What we use:

  • macOS native screenshot tools + CleanShot X for source screenshots.
  • OBS for screen recordings of demos.
  • Loom for quick walkthrough captures we don't need to edit.
  • Flux.1 (self-hosted on our 4090) for occasional generated illustrations.

The shape:

For each news article, we target 4–6 visual beats. Mix is roughly:

  • 1 hero image (article + video)
  • 1 source headline screenshot from the original announcement
  • 1 paragraph or chart screenshot from the primary source
  • 1 demo clip / screen recording where applicable
  • 1 third-party reaction (X post, blog excerpt, etc.) if relevant

We avoid stock illustrations. Real source screenshots carry more authority and look better in the video.

What we automated:

Nothing in this stage. It's tempting to script screenshot capture, but quality matters and the time saved isn't worth the brittleness.

Stage 4 — Render

What we use:

  • Remotion — programmatic video framework. The video version of every article is generated from a manifest file.
  • MiniMax speech-2.8-hd — primary voice. Falls back to edge-tts, then macOS say.
  • Whisper Large v3 Turbo (self-hosted) — generates captions from the rendered audio.

The pipeline:

The article gets converted into a video manifest — script, list of visual beats, timing per beat. The manifest goes into Remotion which renders the final video. Voiceover is generated from the script via the TTS chain. Captions overlay automatically.

For the typical article, the render pipeline produces a 3–5 minute video in about 12 minutes of compute (single 4090 + Cloudflare Workers for the orchestration).

Where we don't use AI:

We don't use AI to generate the visual beats themselves. The screenshots and clips are captured by hand in stage 3. AI-generated B-roll is the most obvious AI sludge tell on YouTube right now and we won't touch it.

Stage 5 — Publish

What we use:

  • Astro + Cloudflare Pages — the website itself. Articles are markdown files in a content collection (this site).
  • YouTube — primary video distribution.
  • Buffer — schedules X, LinkedIn, and IG posts.
  • Substack-style newsletter — weekly digest, currently in our own Astro stack.

The flow:

  1. Article markdown gets pushed to git. Cloudflare Pages auto-deploys.
  2. Video uploads to YouTube via API. We schedule it to publish 30 minutes after the article goes live.
  3. The X post and LinkedIn post are drafted by hand from the article lede. Buffer schedules them.
  4. The newsletter pulls the week's stories every Friday afternoon.

What we automated:

The article-to-social-post drafting. Claude takes the article and writes 3 candidate X posts at different angles. We pick one, edit, ship. Saves ~10 minutes per story.

Total stack and cost

What it costs to run this every day:

Layer Tool Monthly cost
Research Perplexity Pro $20
Writing Claude Pro + API ~$60
Screenshots CleanShot X (one-time) $0 ongoing
TTS MiniMax credits ~$15
Self-hosted GPU power RTX 4090 idle + active ~$50
Video distribution YouTube $0
Newsletter Self-hosted Astro stack $0
Hosting Cloudflare Pages free tier $0
Social scheduling Buffer Essentials $6
Total ~$150–180/mo

For one daily news article + one video + one weekly digest. The cost will scale with content volume but most of the cost is fixed.

What we'd cut if we started over

Two things.

Buffer. We could schedule X manually for the volume we ship. Six bucks a month is fine, but if you're cost-sensitive and at our scale, skip it.

Notion. We could run the editorial calendar in a directory of markdown files in the same repo as the site. Notion is fine, but it's the only tool in the stack that has a different home from our actual content — which means it gets out of sync.

Where this stack falls down

It assumes you do the editorial work. The AI tools listed above are accelerators, not replacements. We've watched several "AI news" sites try to fully automate this same workflow and produce content that no one wants to read or watch. The constraint isn't tooling. It's whether you have a point of view worth reading.

If you have one, this stack will get you to a daily cadence. If you don't, no stack will help.

Want this built into your operation?

We do this consulting work for creators and small media operations — see Creator AI workflow setup and AI content system consulting. Both engagements walk you through standing up a version of this stack tuned to your editorial focus.