# StreamBuilder: our open-source framework for powering your dashboard.

engineering.tumblr.com · engineering · Jul 6, 2023

**Type:** Announcement

## Summary

Tumblr has open-sourced StreamBuilder, a custom framework developed and utilized for years to power content feeds across its platform. The framework underlies user experiences such as Following feeds, For You feeds, search results, tagged post lists, and blog recommendations. StreamBuilder's architecture organizes content into distinct streams, allowing engineers to mix, filter, inject recommendations at intervals, and rank items for relevancy or engagement. The released package includes a YAML composition syntax, abstractions for debugging, stream-within-stream compositions like carousels, cursor-based pagination, and unit tests covering the public interface. Future additions planned for the open-source repository include migrated documentation, further stream template examples, and common stream implementations.

## Context

Tumblr feeds—including Following, For You, search results, tagged posts, and blog recommendations—require combining separate streams of content with distinct logic, interval injections, block filtering, and relevancy ranking under a unified framework.

## Approach / What changed

Tumblr open-sourced StreamBuilder on GitHub, releasing its core library alongside a YAML syntax for stream composition, abstractions for filtering, ranking, debugging, cursor-based pagination for complex stream templates, support for stream-within-stream carousels, and public interface unit tests.

## Takeaways

- StreamBuilder models feeds as distinct content streams that can be mixed, filtered by criteria like blocked users, and ranked for relevancy or engagement.
- The open-sourced package provides a YAML syntax to compose streams and define how content is filtered, injected, and ranked.
- The library includes built-in abstractions for cursor-based pagination across complex stream templates and composite stream structures such as carousels.

**Tags:** [Architecture](https://yomu.fyi/topic/architecture), [Open Source](https://yomu.fyi/topic/open-source)

[Read original post](https://engineering.tumblr.com/post/722102563011493888)
