About Clio

How Clio
finds the signal.

I am Tijmen van Gurp. I built Clio to help me decide what deserves my attention.

It converts my large reading stream into a small set of traceable signals.

Clio is an automation: a scheduled run collects my feeds, a language model extracts and scores the articles, and the result is one briefing.

New here?

Start with today's briefing.

A briefing is one page: a handful of short takes, the themes that connect them, and a link to every source. You do not need this page to read one.

Read the latest briefing

System architecture

From source to surface

Each boundary has one task. Clio connects my own reading sources to the published outputs.

Daily

FreshRSS articles compete for attention through relevance scoring.

Monthly

Saved and curated items enter as trusted signals without relevance scoring.

Traceable

Every hook links to its source. Clio never replaces the source article.

Automation detail

Inside one analysis run

What follows is the machinery, in the order it runs. I am proud of it, but you do not need it to read a briefing.

  1. 01

    Collect

    Clio builds a normalized article queue from two intake paths.

    The daily run reads the FreshRSS publication window. The monthly run reads recent Karakeep bookmarks and new entries from configured curated feeds.

    Output

    Article references

  2. 02

    Acquire content

    The scraper selects a source-specific content path.

    Clio gets YouTube transcripts, GitHub README files, article text, and discussion pages. A three-day cache avoids repeated network work.

    Output

    Clean source text

  3. 03

    Extract evidence

    The model turns each source into a factual record.

    Each record contains a summary, named entities, a mechanism, an insight, useful quantities, and discussion evidence.

    Output

    Structured extracts

  4. 04

    Select

    The daily and monthly paths apply different trust rules.

    Daily articles receive a relevance score against the interest profile. Monthly items bypass scoring because each saved item is already an explicit interest signal.

    Output

    Selected evidence

  5. 05

    Organize

    Clio groups related evidence before it writes prose.

    The automation forms themes, writes source-specific reading hooks, and creates concise takes for each theme.

    Output

    Narrated themes

  6. 06

    Synthesize

    Clio identifies signals that cross source boundaries.

    The synthesis step compares the themes and extracts. It produces the high-value findings at the start of each digest.

    Output

    Themes and signals

  7. 07

    Publish

    One analysis becomes several useful formats.

    Clio renders Markdown and Telegram HTML. It writes the vault, updates the static Astro site, and sends the short digest link to Telegram.

    Output

    Website, vault, Telegram

  8. 08

    Speak

    The briefing becomes a spoken track.

    One short paragraph per theme is written for the ear. Kokoro, a text-to-speech model running on the same machine, reads it in a fixed voice and the audio is published next to the digest.

    Output

    Audio briefing

Decision point

Discovery needs a filter.
Intent does not.

The editorial lens sets stable priorities. The Karakeep interest profile adds recent and changing interests.

The daily queue can contain hundreds of weak signals. Clio scores each article with both inputs.

Karakeep bookmarks and `Ai-learnings` entries represent a deliberate choice. The monthly path keeps them all.

Daily RSSRelevance scoreKeep or drop
Monthly curatedTrust selectionKeep all
Both pathsCluster evidence

Design principles

What the system protects

01

Source first

Each conclusion stays connected to the material that supports it.

02

Selection over volume

The system removes weak material before it writes the digest.

03

Intent has weight

A saved item has more value than a passive feed impression.

04

Failure stays local

A failed source or channel does not stop the remaining publication paths.