Changelog
How whatimreading has evolved
A running record of what shipped, in roughly the order it happened.
Monday, May 18, 2026
RSS ingestion + cached /newsletters
Pulled 3,449 Substack posts directly from RSS feeds (covering 2025-01 → today) and ingested them as synthetic emails alongside the Gmail data. /newsletters now reads from a pre-computed status table (190 inbox / 12 cited / 22 missing) and renders in milliseconds instead of timing out. Daily cron moved to 00:01 ET. App Router migration unblocked deploys.
868edc7 · 51aff6f · 119cdf9 · 2daa2b5 · f1e3745
Sunday, May 17, 2026
2026 backfill + /newsletters + cron handler
121 daily briefings backfilled for January through April plus May 14. /newsletters and /newsletters/[slug] pages parsed from 238 Substack subscriptions; gap analysis flags which ones reach the inbox vs. which are read in-app. Vercel cron handler implemented for the daily Gmail-pull → Supabase-push pipeline. /sources and /senders no longer capped at 100. Sunday daily ↔ weekly recap cross-link.
66be794 · 7cfd30b · 45b132c
Thursday, May 14, 2026
Low-fi design + editorial headlines + /river
Switched to a plaintext-vibe layout with system fonts and dead-simple CSS. Each daily briefing gets a 2-6 word editorial headline. Added /river — reverse-chrono items grouped by cross-citation strength. Identified inbox start (2017-06-27) for future deep-archive backfills.
ccae246 · b4d2ff5 · e6ce030
Thursday, May 14, 2026
Sources + senders pipeline
Disaggregated Substack and Beehiiv links to specific publication subdomains and grabbed X handles from x.com/* URLs. Built smart source attribution covering tracker prefix stripping, anchor and sender inference, and HTTP redirect unwrap.
a3b2841 · 261b72c
Thursday, May 14, 2026
Initial release
Phase 1 through 3 complete: Gmail OAuth, link extraction with tracker unwrap, voice anchor on the May 12 briefing, and the first eleven daily briefings (May 1-13) backfilled to validate the trend-clustered output. Site deployed to Vercel.
1c57546