Skip to content

A desktop music player built with Electron that streams audio from YouTube Music. Clean UI, no accounts, no ads.

License

Notifications You must be signed in to change notification settings

nyakuoff/Snowify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

169 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

snowify-logo-text

A desktop music player built with Electron that streams audio from YouTube Music. Clean UI, no accounts, no ads.

Warning

The app is still constantly being worked on and may contain a few bugs or experimental features, use at your own discretion.

Features

  • Search — Find songs, artists, and albums via YouTube Music
  • Playback — Stream audio directly with play/pause, seek, skip, volume
  • Queue — View and manage upcoming tracks, drag reorder
  • Smart Queue — Auto-fills with similar songs when the queue runs out
  • Shuffle & Repeat — Shuffle queue, repeat one or all
  • Playlists — Create, rename, delete, and add/remove tracks. Custom or auto-generated covers. Drag & drop songs into sidebar playlists
  • Liked Songs — Heart any track to save it
  • Synced Lyrics — Spotify-like synced lyrics from multi-source
  • Artist Pages — Top songs, discography, monthly audience, fans also like, and live performances
  • Follow Artists — Follow artists and see their recent releases on the home page
  • Music Videos — Watch music videos in-app
  • Discord Rich Presence — Show what you're listening to on Discord
  • Cloud Sync — Sign in with email to sync your library across devices
  • Themes — Built-in color themes
  • Keyboard Shortcuts — Full keyboard control (see below)

Screenshots

Home Artist
Lyrics Playlist
Explore Discord RPC

Getting Started

You'll need Node.js (v18+) and yt-dlp installed on your system.

# Clone the repo
git clone https://github.com/nyakuoff/Snowify.git
cd snowify

# Install dependencies
npm install

# Run
npm start

Requirements

Dependency Purpose
Electron Desktop app shell
ytmusic-api YouTube Music search, artist & album data
yt-dlp Extracts audio stream URLs (must be in PATH)
synclyrics Synced lyrics from Musixmatch, LrcLib, Netease
Firebase Authentication & cloud sync

Keyboard Shortcuts

Key Action
Space Play / Pause
/ Seek backward / forward 5s
Ctrl+← / Ctrl+→ Previous / Next track
/ Volume up / down
/ Focus search

Tech Stack

  • Electron — Desktop framework
  • ytmusic-api — YouTube Music metadata
  • yt-dlp — Audio stream extraction
  • synclyrics — Synced lyrics (Musixmatch, LrcLib, Netease)
  • Firebase — Auth & Firestore cloud sync
  • Discord RPC — Rich presence integration

Roadmap

  • Song recommendations
  • Smart queue — auto-fills with similar songs when not playing an album/playlist and the queue runs out
  • Lyrics page with synced lyrics (Spotify-like)
  • Drag and drop songs into playlists
  • Discord RPC
  • Follow Artist feature
  • Upcoming Releases from followed artists
  • Recent Releases from followed artists
  • Watch Music Videos in-app
  • Spotify playlists migration support
  • "Fans might also like" section in artists page
  • Monthly audience stat per artist
  • Cloud sync
  • User accounts
  • Multi-source lyrics (Musixmatch, LrcLib, Netease)
  • Watch Live Performances in-app

Legal

This app is for personal and educational use only. It streams content from publicly available sources. I am not responsible for how anyone chooses to use it.

Contributing

If you find bugs, have ideas, or want to clean something up, feel free to open an issue or a PR. All skill levels welcome.

Note

AI Disclaimer: Parts of this project were assisted or written by AI. If that's something you're not comfortable with, no hard feelings, I understand and I don't force anyone to use it. The code may have flaws. If you spot something that could be better, contributions are very welcome. I'm still learning and would appreciate the help.

About

A desktop music player built with Electron that streams audio from YouTube Music. Clean UI, no accounts, no ads.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •