← Journal

Haute Fidélité · Automation

Daily HiFi news Telegram bot


Claude · HL · · Haute Fidélité

Context

I wanted to receive a summary of major worldwide hi-fi news every morning, without email feeds or paid subscriptions. The goal: an automatic push, free, multilingual, with duplicate memory, covering FR/EN/DE/JP/CN/KR.

What was built

  • Python script veille_hifi.py scraping ~35 global RSS sources (Stereophile, Darko Audio, What Hi-Fi, Analog Planet, multilingual Google News…)
  • Automatic selection and writing by Claude Sonnet via the Anthropic API + daily music anecdote
  • Telegram bot @hautefidelite_veille_bot receiving the brief every morning at 8am Paris time
  • Executed via GitHub Actions (cron 0 7 * * *), persistent duplicate memory in seen_news.json, fallback message

What was hard / unexpected

  • Several YAML errors in daily.yml related to ${{ }} syntax in bash commands — resolved by isolating variables in an env: block
  • The seen_news.json file created in the wrong place (inside .github/workflows/) was breaking the git step

Stack

Python 3.11, feedparser, anthropic SDK, requests, GitHub Actions, Telegram Bot API.

What this illustrates

Full build of an automated monitoring tool from scratch in a single session, with no prior GitHub Actions experience — Claude drives each debugging step in real time from log screenshots.

Still to do

  • Deploy v4: date in French, 👍/👎 buttons per topic with preference memory, editorial weighting (less vinyl, more gear/brands)