<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>discover-feed build log</title><description>A candid engineering log of building a personal news aggregator with a coding agent.</description><link>https://discover-feed-blog.pages.dev/</link><item><title>How I built an open source News Discovery and Summarization feed, with Devin.ai, for $200</title><link>https://discover-feed-blog.pages.dev/posts/00-what-this-is/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/00-what-this-is/</guid><description>A personal news aggregator written almost entirely by a coding agent — 44 pull requests in 18 days. This site is the engineering log.</description><pubDate>Mon, 26 Oct 2026 10:00:00 GMT</pubDate></item><item><title>From empty repo to clustered stories in a day</title><link>https://discover-feed-blog.pages.dev/posts/01-scaffold-ingest-cluster/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/01-scaffold-ingest-cluster/</guid><description>Chapter 1: scaffolding, RSS/Atom ingestion with dedup, a Discover-style UI, text extraction, and clustering — PRs #1–7.</description><pubDate>Mon, 26 Oct 2026 11:00:00 GMT</pubDate></item><item><title>Cited summaries, a publish gate, and an API in four days</title><link>https://discover-feed-blog.pages.dev/posts/02-summaries-api/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/02-summaries-api/</guid><description>Chapter 2: OpenAI-compatible summarization, briefs and reports, the publish gate, /api/v1 + SSE, and story Q&amp;A — PRs #8–14.</description><pubDate>Mon, 26 Oct 2026 12:00:00 GMT</pubDate></item><item><title>Alerts that fire once, sources with budgets, SSRF-safe images</title><link>https://discover-feed-blog.pages.dev/posts/03-alerts-sources-images/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/03-alerts-sources-images/</guid><description>Chapter 3: keyword alerts via webhook/ntfy/email, source management and API budgets, and a validated WebP image cache — PRs #15–17.</description><pubDate>Mon, 26 Oct 2026 13:00:00 GMT</pubDate></item><item><title>Teaching stories to find their own coverage</title><link>https://discover-feed-blog.pages.dev/posts/04-enrichment/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/04-enrichment/</guid><description>Chapter 4: web-search enrichment, TinyFish + GDELT, recall tuning, and the content-farm quality gate — PRs #18–23, #25–26.</description><pubDate>Mon, 26 Oct 2026 14:00:00 GMT</pubDate></item><item><title>Context, deep coverage, and how outlets differ</title><link>https://discover-feed-blog.pages.dev/posts/05-context-perspectives/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/05-context-perspectives/</guid><description>Chapter 5: background-and-context links, a deep-coverage tier, per-source perspectives, and planner mode — PRs #24, #27–34.</description><pubDate>Mon, 26 Oct 2026 15:00:00 GMT</pubDate></item><item><title>Chapter 6a: instrument first, find the stall</title><link>https://discover-feed-blog.pages.dev/posts/06a-telemetry-stall/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/06a-telemetry-stall/</guid><description>Chapter 6, part 1: workflow telemetry, and the enrichment stall where 45 stories sat pending with a dead worker — PRs #35–39.</description><pubDate>Mon, 26 Oct 2026 16:00:00 GMT</pubDate></item><item><title>Chapter 6b: hunting &apos;database is locked&apos;</title><link>https://discover-feed-blog.pages.dev/posts/06b-sqlite-locks/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/06b-sqlite-locks/</guid><description>Chapter 6, part 2: the SQLite lock hunt — wrong first hypothesis, instrumentation, transaction splits, retry_locked — PRs #40, #43.</description><pubDate>Mon, 26 Oct 2026 17:00:00 GMT</pubDate></item><item><title>Chapter 6c: making the pipeline visible</title><link>https://discover-feed-blog.pages.dev/posts/06c-visible-pipeline/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/06c-visible-pipeline/</guid><description>Chapter 6, part 3: a live pipeline visualizer, a per-story step log merging every event source, and enrichment provenance — PRs #41, #42, #44.</description><pubDate>Mon, 26 Oct 2026 18:00:00 GMT</pubDate></item><item><title>Lessons learned building with a coding agent</title><link>https://discover-feed-blog.pages.dev/posts/07-lessons/</link><guid isPermaLink="true">https://discover-feed-blog.pages.dev/posts/07-lessons/</guid><description>What 44 specs taught us: prompt format that worked, instrument-first debugging, and where the agent&apos;s instincts needed steering.</description><pubDate>Mon, 26 Oct 2026 19:00:00 GMT</pubDate></item></channel></rss>