Case Study ยท Live Daily Product
Dawnly
A calm daily top-10 global-news digest built as a complete product: scheduled RSS ingestion, semantic clustering, coverage-based ranking, Claude-generated summaries, a fixed daily edition, archives, and subscriber delivery.
50Curated RSS Sources
10Stories Per Edition
3Ranking Signals
DailyScheduled Edition
Product Idea
Dawnly is designed as a finite morning paper: one shared edition, ten stories, no breaking-news feed, no infinite scroll, and no personalization.
The product question was both editorial and technical: how can coverage from a curated source set be grouped, ranked, summarized, published, archived, and delivered reliably enough to support a real daily reading habit?
Daily Pipeline
01
Fetch and Deduplicate
Pulls recent headlines asynchronously from 50 curated global, regional, and niche RSS sources with retry and deduplication handling.
02
Cluster Related Coverage
Uses sentence-BERT embeddings and DBSCAN to group semantically similar articles, with entity-aware grouping for major stories that span multiple clusters.
03
Rank Story Groups
Scores clusters using normalized mention volume, source reach, and geographic spread. The formula measures coverage within Dawnly's selected source setโnot objective importance.
04
Summarize and Publish
Generates two-sentence summaries with Claude Haiku and falls back to source headlines if the API fails. The pipeline writes the daily edition, commits the output, and GitHub Pages serves the frontend.
05
Archive and Deliver
Stores dated editions, sends the subscriber newsletter through a separate scheduled workflow, and runs weekly source-health reporting.
Product Decisions
Cadence
One fixed edition
Readers see the same ten-story edition until the next scheduled morning update rather than a continuously changing feed.
Attention
Finite by design
No infinite scroll, push alerts, or engagement-based personalization. The product is meant to be read once and put down.
Resilience
Visible fallbacks
The summarization step has headline fallback behavior, while source-health reporting helps identify availability problems.
Delivery
Website plus newsletter
The same daily edition supports the public web product, dated archives, and an active subscriber email workflow.
What the Ranking Means
A higher score means a story received stronger coverage signals within Dawnly's selected RSS sources.
The ranking does not establish objective importance, truth, neutrality, or coverage of the full global news landscape.
Grouped-story source totals count all unique contributing sources, while each card displays up to three source links for readability.
Limitations and Operating Boundary
Live-system boundary: source selection, reach weights, clustering thresholds, and ranking rules are human design choices that may introduce bias. AI-generated summaries can omit context or contain errors, so every story links to cited sources. Daily operation also depends on external RSS feeds, GitHub Actions, and API availability.