Design a News Aggregation Service

Quick Overview

Design a news aggregation service that ingests publisher feeds, versions articles, removes duplicates, clusters related coverage, and serves fresh ranked results. The solution addresses crawling limits, story diversity, personalization, cache consistency, deletion propagation, replay, observability, and regional scale.

Design a News Aggregation Service

Company: Rippling

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

# Design a News Aggregation Service Design a service that collects articles from many publishers, groups reports about the same story, and serves users a fresh ranked feed. Users can open an article, filter by topic, and avoid seeing obvious duplicates. State reasonable assumptions for traffic, source count, freshness, personalization, and content retention. Treat publisher content as externally owned data that may arrive late, change, or disappear. ### Clarifying Questions to Ask - Are sources pulled, pushed, or both, and what end-to-end freshness target is required? - Is the feed global, topic-based, personalized, or a blend? - Does “duplicate” mean the same URL, syndicated copies, or different articles about one event? - Must edits and deletions from a publisher propagate, and how quickly? ### What a Strong Answer Covers - Source onboarding, crawling or feed polling, quotas, parsing, canonicalization, and durable ingestion. - Exact duplicate removal, story clustering, enrichment, ranking, feed generation, and pagination. - Storage choices, indexes, cache keys, event-driven propagation, and freshness semantics. - Abuse controls, publisher attribution, deletion handling, backpressure, replay, observability, and regional scaling. ### Follow-up Questions 1. How would you prevent one breaking story with thousands of near-identical articles from dominating the feed? 2. How would you update a personalized feed within seconds when an important new article arrives? 3. What should happen if a publisher asks to remove an article that is already cached and indexed?

Quick Answer: Design a news aggregation service that ingests publisher feeds, versions articles, removes duplicates, clusters related coverage, and serves fresh ranked results. The solution addresses crawling limits, story diversity, personalization, cache consistency, deletion propagation, replay, observability, and regional scale.

|Home/System Design/Rippling
Rippling logo
Rippling
Aug 29, 2026
mediumSoftware EngineerTechnical ScreenSystem Design
2
0

Design a News Aggregation Service

Design a service that collects articles from many publishers, groups reports about the same story, and serves users a fresh ranked feed. Users can open an article, filter by topic, and avoid seeing obvious duplicates.

State reasonable assumptions for traffic, source count, freshness, personalization, and content retention. Treat publisher content as externally owned data that may arrive late, change, or disappear.

Clarifying Questions to Ask Guidance

  • Are sources pulled, pushed, or both, and what end-to-end freshness target is required?
  • Is the feed global, topic-based, personalized, or a blend?
  • Does “duplicate” mean the same URL, syndicated copies, or different articles about one event?
  • Must edits and deletions from a publisher propagate, and how quickly?

What a Strong Answer Covers Guidance

  • Source onboarding, crawling or feed polling, quotas, parsing, canonicalization, and durable ingestion.
  • Exact duplicate removal, story clustering, enrichment, ranking, feed generation, and pagination.
  • Storage choices, indexes, cache keys, event-driven propagation, and freshness semantics.
  • Abuse controls, publisher attribution, deletion handling, backpressure, replay, observability, and regional scaling.

Follow-up Questions Guidance

  1. How would you prevent one breaking story with thousands of near-identical articles from dominating the feed?
  2. How would you update a personalized feed within seconds when an important new article arrives?
  3. What should happen if a publisher asks to remove an article that is already cached and indexed?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...