Spotlight PBS KIDS : Delivering Personalized Content at Scale

pbskids.org

The Business Challenge

The Public Broadcasting System (PBS) KIDS organization (pbskids.org) delivers highly interactive media for children and their parents in the form of videos, games, websites and activities, as well as other online content and shows. In order to provide a personalized experience to its users, PBS KIDS wanted a system that would allow their content editors to easily manage and correlate media objects as well as to have an ability to provide contextual associations between these entities. Because of the number of independent systems involved, it was difficult to map the many different related types of existing media; and with more future types planned, they needed something modular that would scale with growth without degrading the user experience. This necessitated the development of two major components - a centralized Content Management System (CMS) for content editors and segregated API layers that both the CMS and external systems could use to retrieve, associate and update object data.

Our Solution

OmniTI determined, after analysis of existing solutions, that because of PBS KIDSʼ long term goal to have the new CMS replace the multiple content editing solutions the organization used, that a custom CMS would best meet the unique and specific needs of PBS KIDS. Based on process-specific use cases, OmniTI built a lightweight JavaScript front-end using React JS, that included numerous usability enhancements not present in the existing systems used by the content editors. This system was also built with a configurable design to handle multiple media types, including future expansion types not yet defined. Because the system was architected with future growth in mind, addition of new media object type sources can be done by non-technical staff, without any code changes.

For the API layer, OmniTI decided on node.js for implementation of a flexible, highly performant solution. Because the API layer would be exposed to end-users and external systems, performance was a critical requirement. Using a combination of AWS PostgreSQL RDS, Amazon SQS and Elasticache, and a purpose-built application code, OmniTI implemented a multi-layer caching architecture for API layer and CMS. The resulting performance was demonstrated ʼout of the boxʼ at 5x the clientʼs projected needs with proven horizontal ability to scale well beyond.

The Benefits

With the new system, PBS KIDS is now able to correlate related media in order to deliver content tailored to the individual users, improving user experience and increasing engagement. The CMS system, designed to match existing workflows, greatly improved usability compared to the disparate legacy systems, improving productivity of editorial staff. At launch, the system was pulling data from eleven independent sources; however because of the design of API layer, the system is able to handle growth - allowing for the addition of future endpoints with minimal time and cost.

OmniTI worked with us to clearly understand our requirements for the CMS and the associated APIs before beginning development. Throughout the course of the engagement their engineering team worked closely with our technical staff to provide a solution that met the needs of the project and adhered to our internal specifications. OmniTI was able to adjust to changing requirements and still deliver ahead of schedule.

~ Ellen Rosenstock, Senior Product Manager, PBS KIDS