Extra! Extra! How we built Pinterest News

Pinterest Engineering
5 min readintermediate
--
View Original

Overview

The article discusses the development of Pinterest News, a feature designed to enhance user engagement by showcasing recent activities of followed users. Built in just two months by the Growth team, it highlights the project's strategic planning, technical challenges, and the metrics-driven approach taken to ensure its success.

What You'll Learn

1

How to implement a minimum viable product (MVP) to test new features

2

Why using a graph storage service can simplify event aggregation

3

How to manage load on backend services using queuing systems

Prerequisites & Requirements

  • Understanding of backend infrastructure and scalability concepts
  • Familiarity with Redis and queuing systems(optional)

Key Questions Answered

What were the motivations behind building Pinterest News?
Pinterest News was developed to help users discover new content by showcasing the activities of those they follow. This feature aimed to enhance user engagement by providing a fresh source of interesting content tailored to individual preferences.
How did Pinterest manage the scalability challenges of the News feature?
Pinterest addressed scalability by leveraging internal services like Zen for graph storage and PinLater for queuing. This allowed them to efficiently process and rank millions of events daily while managing load through rate-limiting and pre-aggregation strategies.
What approach did Pinterest take to mitigate project risk during development?
To reduce project risk, Pinterest scoped the News feature to an MVP that initially targeted only 10% of users and focused on iOS. This allowed them to validate the concept before a full-scale rollout across all platforms.
What impact did the News feature have on user engagement?
The initial launch of the News feature showed a strong positive impact on engagement metrics, indicating that users were more actively discovering content through the activities of their network.

Key Statistics & Figures

Percentage of user base that would receive news items
80 percent
This estimate provided confidence that the News feature would reach a significant number of Pinners, making it impactful.
Number of events processed daily
100 million
The backend architecture needed to scale to handle this volume of events generated by Pinners.
Time taken to build the initial feature on iOS
less than one month
The feature was developed quickly by a small team, demonstrating efficient resource allocation.
Time taken to scale to 100 percent of Pinners across all platforms
six weeks
This rapid scaling followed the successful MVP launch on iOS.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Backend
Zen
Used for graph storage to manage and query user activity events.
Backend
Pinlater
A queuing system built on Redis to manage the load and rate-limit event processing.
Database
Hbase
Underlying technology for Zen, enabling efficient storage and querying of graph data.
Database
Redis
Used in PinLater for queuing and managing event publication.

Key Actionable Insights

1
Implementing a minimum viable product (MVP) can significantly reduce risk when launching new features.
By initially targeting a smaller user base, teams can gather valuable feedback and make necessary adjustments before a full rollout, ensuring a better reception and higher engagement.
2
Utilizing a graph storage service like Zen can streamline the process of aggregating and ranking events.
This approach allows for efficient data management and retrieval, which is crucial for applications that need to present personalized content quickly.
3
Incorporating a queuing system such as PinLater can help manage backend load effectively.
By decoupling the event publication process from user actions, you can optimize performance and prevent system overload, especially during peak usage times.

Common Pitfalls

1
Failing to properly scope a project can lead to overwhelming complexity and resource strain.
By limiting the initial scope to an MVP, Pinterest was able to focus on essential features and validate the concept without overextending their resources.

Related Concepts

Minimum Viable Product (mvp)
Graph Storage Systems
Event-driven Architecture
Scalability In Backend Systems