AI-assisted News Briefing
A supervised pipeline that turns public news feeds into a focused briefing, with optional AI summaries.
A human controls delivery.
The case in 30 seconds
- The problem
- An unfiltered news feed made it hard to find the few updates relevant to practical AI and product work.
- My contribution
- Pipeline design, source integration, deterministic filtering, and implementation with AI assistance.
- What works today
- A documented local preview workflow with a model-free fallback. Delivery remains manually controlled.
Inside the workflow
How it comes together.
- 01
Collect & filter
Normalize public sources, remove duplicates, and check delivery history.
- 02
Rank & summarize
Code selects relevant items. Optional Gemini summaries work inside that selection.
- 03
Preview & deliver
Review the digest locally. A separate explicit command sends it to Telegram.
The problem
News about AI and automation is high volume. Reading everything manually produces a feed with little connection to practical product decisions, portfolio work, automation ideas, or professional development.
The goal was a small briefing: fewer items, better relevance, and a clear reason each item matters.
Key decisions
Rank before generating
Collection, normalization, history filtering, deduplication, and relevance ranking are explicit code paths. A language model cannot reintroduce an item that the deterministic rules excluded.
Make the model optional
The pipeline can generate a basic briefing without a Gemini key. When configured, Gemini improves summaries rather than owning source selection or delivery safety.
Preview before delivery
The default workflow creates a local preview. Telegram delivery requires an explicit send command and remains separate from a scheduled job.
Select fewer, stronger items
The pipeline selects up to five useful stories instead of filling a fixed quota with weak matches.
Solution flow
Public RSS, Atom, and supported HTML sources
-> collection and normalization
-> duplicate and delivery-history filtering
-> deterministic relevance ranking
-> optional Gemini summary generation
-> Portuguese Telegram-ready digest
Engineering and reliability
- Node.js and JavaScript.
- RSS, Atom, and HTML collection.
- Local delivery history outside Git.
- Optional Gemini and Telegram integrations.
- Manual GitHub Actions entry point. An earlier automatic schedule was switched off in August 2026 until a supervised delivery round validates the output.
- Syntax validation for JavaScript entry points.
Outcome and evidence
- The repository documents a reproducible local preview path.
- The model-free fallback keeps the core workflow usable without credentials.
- The implementation records sent items locally to reduce duplicates.
- Automation remains intentionally supervised rather than being described as a fully autonomous production system.
What I learned
A useful AI-assisted workflow needs explicit quality gates before generation. The model is more valuable when it works inside a narrow, observable system than when it is asked to decide every part of the process.
What I would improve next
- Run a supervised delivery round and evaluate the digest quality with explicit criteria.
- Measure useful feedback only after deciding what should count as a meaningful signal.
- Add new sources only when their public endpoints and relevance fit the existing validation rules.