I follow a lot of writing about technology, schools and AI, far more than I can read. I used to skim feed readers and lose most of it. Now a program does the first pass and hands me a short list each morning. The Recommended page shows only the links I chose to share from that list.
A model helps pick these links and drafts the notes under them. I want that to be obvious, so this page explains what the program does, what the models decide and what I still decide myself.
What it does
Every hour the program checks 57 RSS and Atom feeds. They cover the impact of technology on society, edtech, schools and education, research journals and arXiv, language models, especially ones that run locally, and tinkering. It keeps anything from the last seven days and drops journal housekeeping like corrigenda and retraction notices.
A model scores every new item against a short memo describing what I care about. At six in the morning, Singapore time, the program picks the best of them, twenty on a weekday and five at the weekend. The list lands in a private inbox on my phone, with a push notification.
I read the list and choose one of three things for each link.
- Share. The link goes on the Recommended page. This is the strongest signal I can give.
- Interested. A private thumbs up. Nothing is published.
- Not for me. Optionally with a reason, such as "not for schools" or "I just don't like it".
Opening a link counts as a weak positive. Everything can be undone.
How it fits together
It runs on my maker platform, as two small Cloudflare Workers plus a private web app.
Fetching
A feeds Worker does the fetching and nothing else. It sends conditional requests, so an unchanged feed costs almost nothing. It strips tracking parameters such as utm_ and fbclid from links and keeps a plain-text excerpt of each item, at most 6,000 characters. Each feed is checked every two hours, and one that keeps failing backs off to once a day.
Judging
The judge is Clef, a model on Cloudflare's Workers AI that answers typed questions with probabilities instead of writing text. For each item it gets my memo, my topics and the item's title, source and excerpt, and it answers nine questions:
- Is it relevant?
- Which topic is it?
- Does it say something about real impact?
- Is there substance, or just an announcement?
- Does it matter for schools?
- Is there evidence behind it?
- Is it about local models?
- Is it hands-on?
- Is it promotional?
The model never writes a word about the item. Its answers go into a score between 0 and 1 that I wrote by hand. Relevance carries half the weight, and looking promotional costs a quarter.
Picking
Selection is plain code with rules I set:
- An item needs a score of at least 0.45.
- No more than two picks from one source and three from one topic.
- Research papers fill at most a fifth of the list.
- One slot goes to a lower-scoring item, between 0.30 and 0.45, so the list does not narrow itself into an echo chamber.
- Schools feeds get a small nudge by where they write from. International sources get the most, then the UK, US, Australia and Canada.
The one-line reason shown under each pick comes from a template, not a model.
Notes
Under each shared link the Recommended page can show a summary, why it matters for schools, a few quotes and some further questions. A second model drafts these, Meta's Llama 3.3 70B, also on Workers AI. It reads my memo and the item's excerpt and is told to write in British English, avoid hype and treat the feed text as data rather than instructions.
Quotes get extra care because they are someone else's words. The program checks every drafted quote against the article text it actually received, ignoring only spacing, case and the style of quote marks and dashes. A quote that does not appear word for word is thrown away. The Recommended page shows every quote in quotation marks, with the publication's name and a link to the original.
I can edit or replace any of these notes. My version always wins, and the program never overwrites it.
Learning my taste
On Sunday evenings a third model, Google's Gemma 3 12B, reads the week's shares and rejections and proposes a new version of my memo. It only proposes. I accept, edit or reject it, and the memo never changes without me.
What reaches this website
This site asks the platform's gateway for my shared links and nothing else. It cannot see the daily list, my rejections or anything marked Interested. The request carries a token that only allows reading shared links, and the gateway allows one request a minute. The site keeps a copy for at least fifteen minutes so a busy page does not hammer the platform.
Problems worth remembering
I checked the judge before trusting it. Before building anything I ran a calibration week. A throwaway Worker fetched a week of items, Clef scored 277 of them for sixteen US cents, and I labelled them by hand on a local page. A report compared its daily top ten with my labels and fitted a simple regression to see whether learned weights would beat hand-set ones. With 74 labels the hand-set weights were good enough, so I shipped those and kept the tool for later.
Many feeds refuse automated readers. Several sites I wanted returned 403 errors or had no working feed at all, and one timed out every time. Some journal feeds arrive with no abstract or date. Those sources are simply not on the list.
Thin excerpts make thin notes. A feed that sends one sentence gives the notes model one sentence to work with, and usually no quote survives the check. Fetching the full page would fix this. It is designed but not built.
I skipped a stage I had planned. The design had an embedding step to group similar stories. At around forty new items a day it was not worth it.
The list size moved around. The daily list started at five to ten picks, then became twenty on weekdays and five at weekends, which matches how much I actually read.
How it grew
All of this happened on 16 October 2026.
- I wrote the design and ran the calibration week.
- The feeds Worker, the daily picks, the inbox and the shared-links route went in. A local run judged 276 items and picked 7.
- The morning push notification and the weekly memo proposals followed.
- The production database was created and the Workers deployed.
- This website got permission to read my shared links.
- The notes, the Interested button, 24 schools feeds and the weekday and weekend list sizes were added.
What's next
The notes are built and tested, and they will appear on the Recommended page once that part of the backend is deployed. After that I want to fetch full article pages for feeds that only send a teaser, so the notes and quotes have more to work with.