
Tune Twin
Finds new songs that match a YouTube Music playlist's vibe by analyzing tempo and energy, not just 'more like this'.
Role
Developer
- Timeline
- February 2026
Technologies
- Next.js
- TypeScript
- Material UI
- Bun
- YouTubei.js
- Vitest
- React Testing Library
- Vercel
Tools
- GitHub Actions
- Feature-Sliced Design
- Server Actions
- unstable_cache
Background
YouTube Music recommendations loop the same artists back at me. I wanted something that explains why a playlist feels cohesive (tempo, energy, mood) and finds songs matching that recipe instead of just adjacent artists.
Solution
Next.js app that reads playlists through youtubei.js and analyzes their characteristics to generate 'twin' recommendations. The frontend uses Material UI with light and dark modes, the app installs as a PWA, and search history stays on-device.
Process
Built the YouTube Music core library first, then the vibe-analysis engine on top. Feature-sliced directory structure kept experimentation from turning into spaghetti. Server Actions plus caching handle data fetching, and unit tests cover the analysis logic, since that's the part most likely to break quietly.
Final Product
Impact
It surfaces songs I wouldn't have found through the native recommendation loop, filtered by whatever mood I'm in. As a PWA it behaves consistently on desktop and phone.
Reflection
Real-time data from an unofficial platform API teaches humility. Caching strategy matters as much as the analysis itself. Adding other music platforms would multiply its usefulness.
