The AI Read
← Latest
Method

Backlog, requested 10 August 2026

6 min read

Everything asked for, written down so none of it is lost. Priority order. Each item has a done when that can be checked, not a vibe.

Three of these need structured data where the repo currently has only prose. That is the real work: once a thing is data, listing it, sorting it, filtering it and giving it its own page are all cheap. While it is a paragraph inside a Markdown file, none of them are.

#ItemNeeds new dataStatus
1Predictions overhaulextend predictions.jsonldone
2Watch & Listen hubnew watch.jsonldone
3Timeline: multi-tag, filter, detailmigrate to timeline.jsonldone
4Home page: clickable counts, today's lead, taglinedone
5Section index pages (/daily/, /weekly/)done
6More charts, and actual imagespartly done

1. Predictions

The page is called The Ledger and reads like a compliance document. It is a person making calls and being held to them. Fix the framing, then make it navigable.

  • Name. The nav says Predictions; the page must say Predictions. "The Ledger" and the "Accountability" kicker are gone. This is not a betting market.
  • Headlines. Each prediction gets a short declarative title, the claim, stated plainly, no hedge clauses. The full conditional stays in the body where it belongs. Before: "OpenAI's Astra mathematics results survive independent scrutiny without a material retraction or correction of any of the ten headline results." After: "OpenAI's Astra maths results survive independent scrutiny."
  • Why. Under the headline, the reasoning: why this call, what would have to be true. This already exists as notes and was buried at the bottom in small grey text.
  • What counts. Plain language. "Correct if no headline result is retracted or shown false by a credible published critique." Not RESOLVES CORRECT IF…. The machine-checkable criterion still exists and still gates the build, readers get the sentence, the ledger keeps the contract.
  • Links. Every prediction points at the issue it came from and any related entry.
  • Detail pages. /predictions/<id>.html per prediction. Clickable from the index.
  • Filter by type. Tech / Business / Finance / Open / Resolved as filters that swap what is displayed, not headings you scroll past.
  • Hits and misses. When calls start resolving: a section for what was right, what was wrong, and (the part that matters) why it was wrong.

Done when: the index filters without scrolling, every card links to a detail page, and no prediction on the site is phrased as a legal clause.

2. Watch & Listen hub

Podcasts and videos currently exist only as prose inside each daily brief. They vanish the day after publication.

  • One page, every recommendation ever made, newest first.
  • Searchable across title, show, person, and the note explaining why it matters.
  • Tag filters, multi-select. Picking two tags narrows, it does not widen.
  • People filter. Guests and hosts are the main axis: this is how you actually look for an episode. "That Karpathy one."
  • Each item keeps its original date, its issue link, and the note from the brief it appeared in.
  • The daily's Watch & Listen section is generated from the same data, so adding an episode once puts it in both places and it can never drift.

Done when: a new episode is added to data/watch.jsonl and appears in the daily brief and on the hub with no other edit.

3. Timeline

Tags are there and they work. They just do not do anything yet.

  • Multiple tags per entry. Most events are two things at once, a funding round in an lab is MONEY and MODEL.
  • Filter by tag, and by more than one at a time.
  • Clickable entries. Each event opens to the fuller account: what happened, why it was logged, which issues covered it, any prediction that names it.

Done when: selecting MONEY + INFRA shows only entries carrying both, and every row opens to a detail view.

4. Home page

  • The counts are links. Briefs → the daily archive, Weeklies → weekly, Issues → monthly, Open calls → predictions. If it shows a number, it goes somewhere.
  • Today is obvious. The newest brief leads the page as the front-page story with its date, not as the first row of an undifferentiated list.
  • Tagline → "Daily Intelligence on the AI Landscape". Drop "with every call scored."

5. Section index pages

Implied by making the counts clickable: /daily/, /weekly/, /monthly/ need to exist as archives in their own right, each listing everything of that kind with author and date.

6. Images and charts

Asked directly: why are there so few? Honest answer, because it changes what to build.

  1. Press photography is not usable. Product shots, headshots and conference photos are licensed. A private site does not make republishing them fine, and "borrow it, it's just for me" is how you end up with a habit that breaks the day the site is shared.
  2. Generated stock imagery would be decoration. A glowing brain over an article about classifier catch rates adds nothing and costs credibility.
  3. Charts were built but only used in two reports. tools/charts.py has four types and most of the archive is still prose wrapped around numbers that want to be seen. This is the real gap and it is entirely self-inflicted.

So the plan is: every image on this site is generated from something true.

Shipped:

  • The evidence strip (tools/cover.py), every issue draws its own source-tier mix, one tick per citation. It earned its place immediately: the full report is visibly paler than the daily, because 41 of its 62 citations are tier C. That is a real fact about the issue that no sentence in it states.
  • Charts on the executive summary and full report. One was cut in review: a donut of the adoption funnel would have rendered "23% report ROI" as 29%, because the slices are a share of the 80% who embedded rather than of all enterprises. A chart that restates a figure incorrectly is worse than no chart.

Still to do:

  • Charts across the Top 20 and the rest of Vol. 1, the standing rule is 2–4 per long report, and only two of ten parts have any.
  • Video thumbnails on Watch & Listen, fetched once when an episode is added and committed, with generated fallback art where there is none.
  • Sparklines in the prediction cards: confidence against time to resolution.
  • Entity pages: data/entities.json now exists and the timeline already resolves against it, so /entities/<slug>.html is mostly wiring.

Standing decisions

  • Server-render everything, filter on the client. Every item is in the HTML; JavaScript only hides what does not match. Search and filters die gracefully with JS off, and there is no index to keep in sync.
  • No dependencies. Still true. No npm, no framework, no external request at runtime.
  • One filter component, shared by predictions, watch and timeline. Three pages needing the same interaction is a component, not three implementations.