Building the Future of Our Desktop Apps
Apr 1, 2021Spotify Engineering

Summary
This post details the technical strategy and execution for unifying Spotify's desktop and web player clients into a single codebase. It describes the migration of the desktop client to a React-based UI, the creation of TypeScript Platform APIs to abstract underlying data sources and playback stacks, and the decoupling of the Web Player UI from browser-specific dependencies. The new architecture allows the UI to run on both web and desktop containers without knowing the underlying infrastructure. This resulted in improved developer velocity, the addition of features like downloading and offline playback, and a unified user experience and visual design.