Skip to content

VoidSync: Conquer the void of scattered playlists. Sync YouTube, Spotify, and SoundCloud to dominate the Rift and reign over the beats.

License

Notifications You must be signed in to change notification settings

0xr3ngar/voidsync

Repository files navigation

void crest

VoidSync

Conquer the void of scattered playlists. Migrate your music library seamlessly.

⚠️ Currently supports: Spotify → YouTube Music migration only. More platforms coming soon!

TypeScript Bun Ink License Version

Screen Recording 2025-10-17 at 1 41 48


VoidSync is a terminal-based CLI tool that liberates your music from platform silos. Connect your Spotify and YouTube accounts, select your favorite playlists, and watch them seamlessly migrate to YouTube Music—all from the comfort of your terminal.

Current Features:

  • ✅ Migrate playlists from Spotify to YouTube Music
  • ✅ Automatic track matching and search
  • ✅ Real-time progress tracking
  • ✅ Beautiful terminal UI

No more manually recreating playlists. No more switching between apps. Just pure, void-crushing synchronization.

🎵 Example Playlists

Check out these playlists migrated using VoidSync:

Prerequisites

Before installing VoidSync, you'll need to set up API credentials for the platforms you want to sync:

Google/YouTube API Setup

  1. Visit the Google Cloud Console
  2. Create a new project (or select an existing one)
  3. Enable the YouTube Data API v3
  4. Go to CredentialsCreate CredentialsOAuth 2.0 Client ID
  5. Configure the OAuth consent screen
  6. Add http://localhost:3000/callback as an authorized redirect URI
  7. Save your Client ID and Client Secret

Spotify API Setup

  1. Visit the Spotify Developer Dashboard
  2. Log in and create a new app
  3. Add http://localhost:3000/callback as a redirect URI
  4. Save your Client ID and Client Secret

Runtime Requirements

  • Bun 1.0+ (Install Bun)
  • macOS or Linux (Windows support via WSL)

📦 Installation

# Clone the repository
git clone https://github.com/0xr3ngar/voidsync.git
cd voidsync

# Install dependencies
bun install

# Build the CLI
bun run build

bun link

⚙️ Configuration

Create a .env file in the root directory with your API credentials:

# YouTube/Google OAuth Credentials
YOUTUBE_CLIENT_ID=your_google_client_id_here
YOUTUBE_CLIENT_SECRET=your_google_client_secret_here
YOUTUBE_REDIRECT_URI=http://localhost:3000/callback

# Spotify OAuth Credentials
SPOTIFY_CLIENT_ID=your_spotify_client_id_here
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret_here
SPOTIFY_REDIRECT_URI=http://localhost:3000/callback

🚀 Usage

voidsync

How It Works

  1. Intro Animation - Watch the void-conquering journey unfold
  2. Platform Authentication - Connect your Spotify and YouTube accounts via OAuth
    • Use and arrow keys to navigate
    • Press SPACE to authenticate a platform
    • Press ENTER to continue once both platforms are authenticated
  3. Playlist Selection - Choose which Spotify playlists to migrate
    • Navigate through your Spotify playlists
    • Select the ones you want to sync to YouTube Music
  4. Migration Progress - Watch your playlists migrate to YouTube Music in real-time
    • See each track being searched and added
    • Get a clickable link to your new YouTube Music playlist when complete

Development

# Start in development mode with hot reload
bun run dev

# Run tests
bun test

# Run type checking
bun run typecheck

# Lint and format
bun run check

# Build for production
bun run build

🗺️ Roadmap

Completed:

  • Spotify authentication and playlist fetching
  • YouTube authentication and playlist creation
  • Playlist migration (Spotify → YouTube Music)
  • Real-time progress tracking with current track display
  • Direct playlist link on completion

Coming Soon:

  • SoundCloud support
  • Reverse migration (YouTube Music → Spotify)
  • Bi-directional sync
  • Playlist updates and incremental syncing
  • Sync history and rollback
  • Multiple playlist formats (Apple Music, etc.)

Issues & Contributions

Found a bug? Have a feature idea? Open an issue or submit a pull request!

Contributions are welcome! Feel free to dive into the void with us.

Tech Stack

  • TypeScript - Type-safe code
  • Bun - Fast JavaScript runtime and package manager
  • Ink - React-based framework for building CLI apps
  • googleapis - YouTube Data API integration
  • ytmusic-api - YouTube Music API wrapper because google is pee pee poo poo and doesn't give me enough api quota :(
  • OAuth 2.0 - Secure platform authentication
  • Conf - Persistent local configuration storage

Built with ⚡ by 0xr3ngar

Conquer the void. Sync the beats. Dominate the Rift. 🎵

About

VoidSync: Conquer the void of scattered playlists. Sync YouTube, Spotify, and SoundCloud to dominate the Rift and reign over the beats.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published