Skip to content
← portfolio·
case study

Razzify

2025

A native-feeling Spotify desktop client packaged with Tauri 2 — Rust shell, React UI, Web Playback SDK for in-app device control.

The Web API powers library and discovery; the Web Playback SDK runs in-process for native playback. A singleton token-refresher collapses concurrent 401s into a single in-flight refresh, so playback never stutters mid-track. Migrated from Electron to Tauri for a much smaller binary.

DesktopmacOS · Windows · LinuxRust + ReactOpen source
⬡ view on github
Razzify desktop client — playlist view, light theme
architecture

How It Works

Tauri 2 wraps the React app in a Rust shell that opens a native window and handles IPC. The Spotify Web API (queries, library, discovery) is consumed via RTK Query for caching and dedupe; the Web Playback SDK runs in-process to register a device, receive state events, and forward playback controls. A single token-refresh singleton serializes 401 recovery so simultaneous failing requests share one refresh.

// api + sdk + token refresh
tauri 2 shell (rust)
React App
Token refresh singleton
serializes concurrent 401s
Spotify Web API
library · discovery\nvia RTK Query
Web Playback SDK
in-process device\nplay · pause · skip
stack

Tech Stack

Frontend
React 19 · TypeScript
Components
Mantine UI · Lucide icons
State
Redux Toolkit · RTK Query · Redux Persist
Auth
Spotify OAuth 2.0 · singleton token-refresh layer
Player
Spotify Web Playback SDK · device_id management
Data
Spotify Web API (REST) via RTK Query
Bundler
Vite · Vitest
Shell
Tauri 2 (Rust backend) — small native binary
features

Key Features

OAuth sign-in with refresh tokens persisted across restarts
Top tracks and artists with 4-week / 6-month / all-time filter
Recently played timeline
In-app playback — play, pause, skip, seek via the Playback SDK
Playlist browsing with drill-in to full track listings
Album and artist detail pages
New releases and discovery feed
Theme and accent color customizer
Native window via Tauri — tiny binary compared to Electron