zxhderifish GitHub avatar

horizon-feed-to-podcast

zxhderifish

Horizon Feed to Podcast is a pipeline that converts RSS feeds and other sources into a daily web page and narrated podcast episodes in multiple languages, using a coding agent for editorial scoring and Gemini TTS for voice generation.

Stars

5

7-day growth

No data

Forks

1

Open issues

0

License

NOASSERTION

Last updated

2026-07-30

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It prioritizes editorial control through an editable prompt file (SKILL.md) rather than a hard-coded ranking function, enabling dynamic judgment; it also sidesteps the lack of a consumer NotebookLM API by generating scripts locally and using only TTS from Gemini, keeping costs low.

Who it is for

  • Podcast creators wanting to automate a daily news show from custom sources
  • Developers building personalized news aggregators with multi-language audio output
  • Individuals overwhelmed by feed volume who want a curated, narrated summary
  • Hobbyists exploring AI-driven content pipelines with minimal hosting costs

Use cases

  • Create a daily tech news podcast (e.g., Silicon SNR) from selected RSS, Reddit, and GitHub sources
  • Generate bilingual podcasts (English/Chinese) from the same pipeline with separate feeds
  • Automate a film/TV briefing by pointing scrapers at relevant feeds and editing the scoring prompt
  • Run a personal daily briefing that is published as both a website and Apple Podcasts episodes

Strengths

  • Editorial judgment lives in an editable prompt, making it easy to tune without rewriting code
  • Supports many sources (RSS, Hacker News, Reddit, GitHub, Telegram, Twitter, etc.) and two languages out of the box
  • Cost-effective: fits within free tiers of Cloudflare R2 and Gemini TTS for daily 10-minute episodes
  • Clear separation of code (tools/) and content (configs, prompts) simplifies maintenance and customization

Considerations

  • Requires a specific coding agent (Claude Code scheduled tasks) with no drop-in alternative mentioned
  • TTS quality degrades on long segments; scripts must be split into 100–800 character chunks for best results
  • Initial setup involves multiple cloud services (object storage, static hosting, Gemini API) and configuration files

README quick start

horizon-feed-to-podcast

English  ·  简体中文


A daily briefing that publishes itself twice: once as a web page, once as a narrated podcast episode per language. A typical run reads about 40 items, keeps 15, writes them up, and has the episodes on Apple Podcasts before breakfast.

Running example — both shows come out of the same pipeline, same morning: Silicon SNR (English) and 硅基信噪比 (Chinese).

It exists because feed volume outgrows reading time, and because most AI summarizers flatten everything into the same tone. Scoring is the part that matters, and scoring is a judgment call, so it lives in a prompt that can be edited rather than a ranking function that would have to be rewritten.

What's actually in here

The important file is Markdown, not Python.

skills/horizon-radar/SKILL.md holds the editorial judgment: how to score an item 0–10, when two stories are the same story, how to write a segment someone will listen to. A coding agent reads it every morning and does the work. When the briefing degrades, that file is what changes.

tools/ is the plumbing — dedupe, render, encode, upload, build RSS. Scripts, because those steps should produce identical output every run.

fetch → dedupe → score → enrich → write → render → push site
                                              ↓
                          narrate → TTS → upload → RSS → push feeds

Not a tech-news tool

The reference deployment above covers AI and semiconductors; the machinery doesn't care. The audience and topics are described in config.toml, and the scrapers point wherever you aim them. The example config is deliberately a film/TV setup, so it's clear the tech angle isn't baked in.

Why not NotebookLM

It's the obvious first idea, and Audio Overview is genuinely good. But there's no consumer API — only a per-seat Google Cloud product, which doesn't make sense for a one-person daily show. The third-party wrappers are reverse-engineered and break.

Generating the script locally turns out better anyway: the agent is already in the loop, which means editorial control over structure and emphasis. The API only handles the voice. Gemini TTS covers Chinese and English well an

Description

Turn RSS/HN/Reddit noise into a daily briefing — as a web page and a self-publishing narrated podcast. Subject matter is configuration, not code.

Related repositories

Similar projects matched by category, topics, and programming language.

yetone
Featured
yetone GitHub avatar

kill-ai-slop

Kill AI Slop is a multilingual field guide and agent skill that catalogues 33 common AI-generated design tells with interactive before-after demos, and provides a tool to scan and fix web projects.

AI & Machine LearningAI Agents
805
lopopolo
Featured
lopopolo GitHub avatar

harness-engineering

Harness Engineering is a methodology for improving coding agent outputs by carefully crafting the environment around them—providing curated context, tools, and executable constraints that encode an organization’s nonfunctional requirements and cumulative lessons.

AI & Machine LearningAI Agents
2,390
slvDev
Featured
slvDev GitHub avatar

esp32-ai

A 28.9 million parameter language model runs on an $8 ESP32-S3 microcontroller entirely on-device, generating simple stories at about 9.5 tokens per second.

AI & Machine LearningLarge Language Models
1,960