Using a Server-Driven UI to create personalized and dynamic user screens

We enabled SoundCloud users have personalized screens instead of the same experience across all users.

Social MediaAndroidiOSCloud InfrastructureCloud AutomationCorporate Innovation

The story

SoundCloud’s Search and Recommendation teams wanted to run experiments and ship features without the dependencies on client engineers. These teams wanted to be able to manage what content and what components to show on the Home and Search screen via Backend.

Think-it’s role

We took a leading role within the team to drive forward the product and reach a mature phase.

  • We invented a versioning mechanism to avoid application crashes.
  • We created an abstract tracking mechanism that is fully flexible to allow triggering tracking events from the SDUI architecture.
  • We helped and onboarded SoundCloud engineers to get familiar with the architecture.

Why it mattered

By enabling this control over the backend SoundCloud can start experimenting with dynamic layouts introducing concepts of personalization when rendering pages to the user instead of having a fixed structure of what the user interacts with. Server Driven UI (SDUI) enables faster iteration and move business logic to a centralized location in the backend.

Tech stack

FlowsCoroutines Dagger

Testimonials

What our partners say about us

We reviewed 30+ companies in our quest to find a reliable and value-aligned partner before we decided to engage with Think-it. The partnership with Think-it has not only allowed us to rapidly scale the team but also to maintain an excellent level of engineering.
ChristopherDirector of Engineering, SoundCloud

Work with a similar team

Set up a consultation

Related articles/press

Atomic Design System in SwiftUI

134 days ago

We will explore the fundamentals of SwiftUI and how to leverage atomic design methodology to create scalable and maintainable design systems.

Android UI Performance: GPU Overdraw

134 days ago

Diving into one of the significant aspects of Android UI performance: gpu overdraw.

Atomic Design System in Jetpack Compose

134 days ago

Our guide on creating an atomic design system using Jetpack Compose

UI Performance Rendering

132 days ago

The rendering process relies on multiple system parts, and each task might lead to rendering issues that can point to the necessary optimizations.