Projects

YouTube Music Desktop App

image
May 13, 2025
Development of a feature-rich desktop application for YouTube Music that enhances the user experience with custom themes, Last.FM integration, Discord Rich Presence, and a powerful developer API.
  • Custom Theming: Implemented a flexible theming system allowing users to personalize their experience with custom CSS/SCSS support.
  • Last.FM Integration: Built seamless integration with Last.FM for automatic scrobbling of music tracks.
  • Discord Rich Presence: Integrated Discord's RPC service to display current playing status in Discord.
  • Mini Player: Developed a compact mini player interface for users who prefer a minimal UI experience.
  • Developer API: Created a comprehensive WebSocket-based API for developers to control playback, track current songs, and integrate with other applications.
  • Cross-Platform Support: Ensured consistent experience across Windows, macOS, and Linux platforms.
  • Electron: For building cross-platform desktop applications
  • WebSocket: For real-time communication in the developer API
  • SCSS/SASS: For advanced styling capabilities
  • Discord RPC: For Discord integration
  • Last.FM API: For music scrobbling integration
One of the main challenges was maintaining a balance between providing a rich feature set while keeping the application lightweight and performant. The integration of multiple third-party services (Last.FM, Discord) required careful consideration of API rate limits and error handling. The development of the WebSocket API also presented challenges in ensuring reliable real-time communication and proper state management. The application has gained significant traction with over 623 GitHub stars and active community contributions. It provides users with a more feature-rich alternative to the web version of YouTube Music, while offering developers powerful integration capabilities through its API. The project continues to evolve with regular updates and community feedback, demonstrating the value of open-source collaboration in desktop application development.