AI Signal · How it was made
One issue each morning: the day’s AI in a few minutes
Every day it reads X, Hacker News, papers and lab blogs, keeps what’s worth reading, and sends it at exactly 10:00 Beijing time

Key results
- Source types
- 11
- On time, every day
- 10:00
- Links written by the model
- 0
- Before anything repeats
- 60 days
Hundreds of items a day; only what would change a decision
There is too much AI news: posts, podcasts, blogs, papers, GitHub. Hundreds of items a day. The hard part isn’t seeing them; it’s telling which come from credible sources and which are worth anything, rather than noise. I also want to know about good GitHub projects early, and what problem each one solves.
In the age of AI, asking a good question matters more and more; behind a good question is judgement, and judgement is built by taking in good information over a long time. So I wanted a dependable editor: someone who reads everything each day and keeps only what would change a decision, readable in a few minutes.
The model cannot write a fake link
Models make things up. Let one write links and numbers and sooner or later a convincing fake appears. So every item gets an ID and the model may only cite IDs; code fills in links, scores and stars by ID, and an item citing an ID that does not exist is dropped.
10:00 sharp, not a minute either way
GitHub’s scheduler runs hours late at busy times: on 22 Oct the 09:41 job started at 14:32. Now a run is queued every 20 minutes from 4 a.m.; the first to start claims the day, reads and edits at 09:35, and sends at 10:00:00. The others see it has gone out and stop.
The 23 Oct issue began sending at 10:00:00 and finished at 10:00:03.
Black on white, one page
The layout follows Apple’s newsletters and Stratechery: black on white, hierarchy from size, weight and space alone, and one colour, for links. It opens with the day’s one big thing and three “30 seconds” items; a line under each gives its source, discussion and signal strength.
The detailsScope, How it’s built, Trade-offs, Evidence, Timeline
Scope
Does
- Aggregate public sources
- Select, merge and rewrite to a fixed editorial brief
- One email, one web issue and an RSS entry a day, every item linked
Does not
- Require X or YouTube API keys
- Build an app or accounts
- Track readers: no pixels, no click counting
How it’s built
Queue
- A run every 20 minutes from 04:07 to 09:47 Beijing
- The first to start claims the day; the rest stop
Collect · 09:35
- Builders on X and podcasts (follow-builders)
- OpenAI, Anthropic, DeepMind, Google AI, Qwen and other lab blogs
- Hacker News, Techmeme, Reddit (via AINews)
- HF Daily Papers and trending models, GitHub Trending, Product Hunt
- QbitAI, 36Kr
- Drop anything sent in the last 60 days
Number
- Every item gets an ID: H3, R1, M2…
Edit · DeepSeek
- Select by three questions, merge sources
- JSON only, IDs only
Resolve
- Code fills in links, scores and stars by ID
- Unknown ID: the item is dropped
- Model down: a ranked fallback issue
Deliver · 10:00
- Sent at 10:00:00, after checking once more that today hasn’t gone out
- The subject line is the day’s headline
- A web edition and archive go up the same day
The editorial standard lives in the prompt. Every item must pass three questions: Would the reader decide differently because of it? Is it a new fact or noise? Does it carry a concrete number or name?
The layout follows Apple’s own newsletters and Stratechery: black type on white, hierarchy from size, weight and space alone, and one colour, for links. It opens with the issue number, the day’s one big thing and an editor’s line; the lead says why it matters; one line under every item gives its tag, signal strength (●●○), source and discussion; then community, voices, new models, new products, papers, open source and quick hits.
Signal strength: how many independent sources covered the story, or how hot the discussion is, up to three dots.
Trade-offs
The model cites IDs, never links
WhyLinks and numbers are the easiest things to invent; filled in by code, they at least always exist
Given upLet the model write them and check afterwards
Publish a web edition every day
WhyIt is the archive, and it keeps the schedule from being paused after 60 quiet days
Given upEmail only, no trace
Remove 👍 / 👎 and the tracking pixel
WhyThe feedback service had been returning 404; keeping them meant broken links
Given upPretending there is a feedback loop
Hacker News through Algolia, whole-word matching
WhyThe old code read 30 front-page stories and matched substrings, so “said” counted as AI
Given upThe front-page API
Queue from before dawn every 20 minutes; claim first, then wait for 10:00
WhyGitHub alone absorbs hours of delay, with no server to rent
Given upAn external scheduler triggering the run
Reddit through AINews’ daily recap
WhyDirect requests get a 403; AINews collects the hottest threads every day, with their activity
Given upLogging in to Reddit’s API, with an account and keys to manage
DeepSeek’s flash model, with thinking on
WhyThe chat model was retired on 2026-07-24; flash replaces it, and with thinking on it thinks before it picks
Given upThinking off, for faster answers
Evidence
- The first v3 issue (2026-10-20) picked 30 of 60 new items, went out by email, and published a web edition and archive.
- Every link and number comes from the raw data; an item that cites an unknown ID never appears.
- If the model is down, an issue still goes out, ranked by source signal and labelled as such; a failed source is named in the footer.
- Sent links are remembered for 60 days, so nothing repeats.
- Eight groups of automated tests (source parsing, signal strength, Beijing-time arithmetic, the colour limit, the website and RSS) run in the cloud on every commit.
- On time: the 23 Oct issue began sending at 10:00:00 Beijing time and finished at 10:00:03; another queued run that morning saw it had gone out and stopped, so nothing was sent twice (GitHub run log).
Timeline
- 2026.05First version: follow-builders posts and podcasts, LLM curation, email
- 2026.05.22v2: Hacker News, ArXiv, GitHub and Chinese media added
- 2026.07.22Last automatic send; the schedule was then paused after 60 days without commits
- 2026.10.20v3: new sources, editing and layout; daily sends restored
- 2026.10.22v4: on the hour at 10:00; Techmeme, Reddit, trending models, Product Hunt, Anthropic, Qwen and 36Kr added; black on white, one colour for links
- 2026.10.23v4.1: a website of its own that opens with what it is and today’s key points; RSS, an open-source licence and versioned releases
Still missing
- Posts and podcasts still depend on the third-party follow-builders feed.
- Punctuality depends on GitHub starting any one of a dozen morning runs in time; if none does, the late backups after 10:00 send it, late.
- Reddit depends on the AINews recap; if it stops, the community section goes empty.
- There is no reader feedback loop; the editorial brief improves only when someone reads and edits it.
- The model can cite the wrong ID: the link is real but may not match the item. The first issue still had phrases the brief forbids, like “a head-on challenge”.