Private project · Research & knowledge
AI Research Briefing
I built a daily AI briefing for the questions I work on: agents, model evaluation, memory, retrieval, voice and efficient inference. The workflow turns a changing stream of releases and papers into a short, sourced briefing with concrete implications for my engineering work.
Python · Web research · Structured JSON · xAI discovery · edge-tts · FFmpeg · Telegram · Scheduled execution
Research with explicit evidence
The pipeline discovers candidates, follows sources, distinguishes announcements from actual releases and records when the event happened. Each news item carries a source, date, release status, explanation of why it matters and an application to the relevant project. Technical reading recommendations include their publication date and the limits of the evidence.
The generator uses a schema, and code checks dates, duplicate URLs, field lengths and the permitted news window. Older material must be labelled as catch-up. The workflow requires evidence of a fresh web search in the research trace before preparing an edition.
Personalization with boundaries
Curated project documents provide context about what I am building. External social discovery receives public topics rather than private project excerpts. Previous editions supply a short history so the next briefing can avoid repeating a story without a substantive new development.
Availability is part of usefulness: the briefing records whether a product is available in Poland and requires a supporting source for confirmed availability claims. A bounded editing step can shorten the verified material while preserving source URLs, dates and availability information.
Delivery that remembers what happened
One structured edition produces the written briefing and a spoken version. Speech is synthesized with edge-tts, converted to Opus with FFmpeg and cached by a content fingerprint. The scheduled workflow uses the Warsaw time zone.
Delivery state records completed messages and audio, allowing a partial run to resume without repeating successful sends. An ambiguous timeout requires inspection, and changed content cannot silently replace an already delivered edition. This is a small application of the same design problem I encounter in larger agents: distinguish intended actions from confirmed outcomes.