← All projects

Applied AI / Workflow integration

Validation

AI-assisted News Briefing

A supervised pipeline that turns public news feeds into a focused briefing, with optional AI summaries.

From feed to signal
RSSAtomHTML
Explicit rulesDeduplicate · Rank · Select
AI summary optionalDigest preview

A human controls delivery.

Workflow diagram · based on the implemented project

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.

  1. 01

    Collect & filter

    Normalize public sources, remove duplicates, and check delivery history.

  2. 02

    Rank & summarize

    Code selects relevant items. Optional Gemini summaries work inside that selection.

  3. 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.

Let’s build something useful

Have a workflow
worth improving?

Let’s talk about your team, the problem, and what a useful first release could look like.

Get in touch View my CV Start with a conversation.