Sobes.tech
Middle — Principal

Designing a news feed system

livecode

Task condition

Create an architecture for a news feed service that ensures publishing, displaying, and caching materials from external sources.

Functional requirements:

  • Users can publish messages to their personal news feed (including links to original resources).
  • It is possible to view both personal and others' feeds with scrolling through the full list of entries.
  • For news referencing external resources, a snippet (title, description, image) is displayed with a link to the original.
  • It provides the ability to view the content of the original resource within the system without redirecting outside (caching).

Non-functional requirements:

  • API availability of at least 99.9%.
  • Maximum API response time — 100 ms.
  • Data retention for at least 5 years.

Design should include:

  • Storage and caching layers for external content.
  • API for creating and reading feeds.
  • Asynchronous handlers responsible for loading and updating snippets.
  • Scaling mechanisms and fault tolerance.