I built myself a morning radio station (audience: one)
Описание и применение
Автоматический утренний брифинг из Obsidian, отправляемый в WhatsApp в виде изображения и голосового сообщения.
Задача
The author needed a daily briefing of tasks, pipeline, and weather without manually checking Obsidian.
Результат
The system delivers a daily dashboard image and a 60–70 second voice note to the author’s WhatsApp, automating the morning briefing process.
Рабочий процесс
- Read Obsidian vault to extract tasks, pipeline, and project status
- Render dashboard image with Python and Pillow
- Fetch Melbourne weather from wttr.in
- Generate a spoken summary script with an LLM via opencode CLI
- Convert text to speech using VoiceStudio/OmniVoice, Gemini TTS, or macOS say
- Render audio to Ogg/Opus with ffmpeg
- Send image and voice note through local OpenWA gateway to WhatsApp
- Wait for delivered/read confirmation before terminating
Доказательства
Every morning at 07:00 AM, Chucka sends two things to my own WhatsApp.
Python and Pillow render it directly from the live files in my Obsidian vault.
The script is written fresh by an LLM each morning; a text-to-speech model turns it into audio that sound natural.
Audio is rendered, converted to Ogg/Opus with ffmpeg, then sent through a local OpenWA gateway to WhatsApp.
I learned that a status of sent means the message has been queued, not necessarily delivered.
- Дата записи: 2026-10-21T04:41:29.919Z