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.
System architecture
From source to surface
Each boundary has one task. Clio connects my own reading sources to the published outputs.
Sources
Intelligence core
Collect · extract · select
cluster · narrate · synthesize
Surfaces
FreshRSS articles compete for attention through relevance scoring.
Saved and curated items enter as trusted signals without relevance scoring.
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.
- 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.
OutputArticle references
- 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.
OutputClean source text
- 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.
OutputStructured extracts
- 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.
OutputSelected evidence
- 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.
OutputNarrated themes
- 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.
OutputThemes and signals
- 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.
OutputWebsite, vault, Telegram
- 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.
OutputAudio 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.
Design principles
What the system protects
Source first
Each conclusion stays connected to the material that supports it.
Selection over volume
The system removes weak material before it writes the digest.
Intent has weight
A saved item has more value than a passive feed impression.
Failure stays local
A failed source or channel does not stop the remaining publication paths.