Universal Music Search & Player lets you search for any song, artist or album and play it legally — through official preview APIs, your own local files and a royalty-free catalogue. No stream ripping, no DRM bypass.
A provider abstraction sits at the centre of the architecture: the iTunes Search API, the royalty-free catalogue and local files all implement the same interface. When one provider fails, only that source drops out — the search itself keeps working.
02Key Features
Search — by title, artist, album or keyword, with debounced input plus loading, empty and error states
Provider architecture — iTunes Search API (no key required), royalty-free catalogue and local files
Isolated failures — one source going down never breaks the rest of the results
Real player — play/pause, previous/next, seek bar and volume control
Source badge — every result states where the audio comes from
Legal boundary — when full playback isn't possible the app shows "Preview" or "Open on platform"
03Engineering Notes
The legal-only constraint is treated as a design requirement; adding a new source means writing one more provider, nothing else.
React 18 + TypeScript + Vite with Zustand for state; the UI was written from scratch, inspired by Spotify and Apple Music.