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

Flalal/snowify-front

 
 

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

This is a Beta version of the app. It's still a work in progress and may contain bugs or unfinished 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
Login 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/Flalal/Snowify.git
cd Snowify

# Install dependencies
npm install

# Run in development mode (with hot reload)
npm run dev

# Preview production build
npm start

Building

Build standalone executables with yt-dlp bundled automatically (no need to install yt-dlp separately for packaged builds):

# Windows (.exe installer)
npm run build:win

# Linux (AppImage)
npm run build:linux

# Both platforms
npm run build:all

Output files are placed in the dist/ directory.

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 for dev, bundled in builds)
synclyrics Synced lyrics from Musixmatch, LrcLib, Netease

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)
  • 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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 75.8%
  • CSS 22.2%
  • Java 1.6%
  • Other 0.4%