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

Today’s issue AI Signal

The AI Signal website (in Chinese): it reads the day’s AI news for you and keeps what’s worth reading; below, today’s headline and three key points

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

  1. Queue

    • A run every 20 minutes from 04:07 to 09:47 Beijing
    • The first to start claims the day; the rest stop
  2. 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
  3. Number

    • Every item gets an ID: H3, R1, M2…
  4. Edit · DeepSeek

    • Select by three questions, merge sources
    • JSON only, IDs only
  5. Resolve

    • Code fills in links, scores and stars by ID
    • Unknown ID: the item is dropped
    • Model down: a ranked fallback issue
  6. 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

  1. 2026.05First version: follow-builders posts and podcasts, LLM curation, email
  2. 2026.05.22v2: Hacker News, ArXiv, GitHub and Chinese media added
  3. 2026.07.22Last automatic send; the schedule was then paused after 60 days without commits
  4. 2026.10.20v3: new sources, editing and layout; daily sends restored
  5. 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
  6. 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”.

Try AI Signal

Arrives daily at 10:00 Beijing time · Every item links to its source · Full archive

Open AI Signal AI SignalToday’s issue AI Signal

Other work

Let’s talk

Add me on WeChat