Under the hood: PinQueue, a generic content review system

Pinterest Engineering
5 min readintermediate
--
View Original

Overview

The article discusses PinQueue, a generic content review system developed by Pinterest to enhance manual moderation processes alongside machine learning. It details the architecture, functionality, and various teams utilizing PinQueue for content review, emphasizing its extensibility and integration with existing systems.

What You'll Learn

1

How to set up workflows using PinQueue for content review

2

Why human inspection is essential in machine learning pipelines

3

How to utilize RESTful APIs in a content review system

Key Questions Answered

What is PinQueue and how does it function?
PinQueue is a generic content review system at Pinterest that facilitates manual moderation of content alongside machine learning. It consists of an AngularJS web application, a RESTful web service built with Flask, and a MySQL database, allowing various teams to review content effectively.
What teams at Pinterest utilize PinQueue?
PinQueue is used by multiple teams at Pinterest, including the Safety team for content policy compliance, the Spam team for spam validation, and the Marketplace Quality team for reviewing Promoted Pins and Buyable Pins to ensure adherence to advertising standards.
How does the PinQueue review process work?
The review process in PinQueue involves analysts retrieving relevant information about items to review, making decisions through the UI, and sending those decisions to PinLater for enforcement. This workflow ensures that content meets Pinterest's policies and standards.
What advanced features does PinQueue offer?
PinQueue includes advanced features such as caching for static widgets, filtering to exclude unnecessary reviews, quality control through sampling, and metrics collection to monitor the review process. These features enhance efficiency and accuracy in content moderation.

Key Statistics & Figures

Items processed by PinQueue
more than three million
This statistic highlights the scale at which PinQueue operates, demonstrating its effectiveness in managing content reviews.
Number of queues in PinQueue
more than 600
The extensive number of queues showcases the versatility of PinQueue in handling various content types across different teams.

Technologies & Tools

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

Frontend
Angularjs
Used as the front-end framework for the PinQueue web application.
Backend
Flask
Implemented as the RESTful web service for PinQueue.
Database
Mysql
Serves as the database backend for storing content review data.
Orm
Sqlalchemy
Used to interact with the MySQL database.

Key Actionable Insights

1
Implementing a content review system like PinQueue can significantly improve moderation efficiency by integrating machine learning with human oversight.
This approach allows for the handling of complex content policies that algorithms alone may not address, ensuring higher quality content for users.
2
Utilizing RESTful APIs in your applications can enhance interoperability between different systems and services.
By adopting a RESTful architecture, you can create scalable and maintainable applications that easily integrate with external services, similar to how PinQueue interacts with various Pinterest services.
3
Incorporating caching strategies can reduce latency and improve user experience in content review systems.
By caching data for static widgets, as done in PinQueue, you can minimize the need for repeated service calls, leading to faster review times.

Common Pitfalls

1
Relying solely on machine learning for content moderation can lead to gaps in policy enforcement.
Algorithms may not fully capture the nuances of content policies, making human review essential to address complex cases effectively.