tuneswap

๐ŸŽต TuneSwap

Seamlessly convert Spotify links to Apple Music with one click.

A Chrome extension that automatically intercepts Spotify links and opens them in Apple Music, making music platform switching effortless.

TuneSwap Logo

โœจ Features

๐Ÿ› ๏ธ Customizable Settings

๐Ÿš€ How It Works

TuneSwap uses advanced techniques to provide seamless music platform conversion:

  1. Link Detection: Content script detects clicks on Spotify links across any webpage
  2. Metadata Extraction: Uses Spotifyโ€™s oEmbed API and web scraping to get song details
  3. Smart Search Generation: Creates optimized Apple Music search URLs with extracted metadata
  4. Regional Optimization: Automatically uses the correct Apple Music storefront for your region

๐Ÿ”ง Technical Implementation

The extension consists of:

๐Ÿ“ฆ Installation

From Source (Developer Mode)

  1. Clone the repository:
    git clone https://github.com/yourusername/tuneswap.git
    cd tuneswap
    
  2. Open Chrome Extensions:
    • Navigate to chrome://extensions
    • Enable โ€œDeveloper modeโ€ (top-right toggle)
  3. Load the extension:
    • Click โ€œLoad unpackedโ€
    • Select the cloned directory
  4. Start using TuneSwap! ๐ŸŽ‰

From Chrome Web Store (Coming Soon)

TuneSwap will be available on the Chrome Web Store soon for easy one-click installation.

๐ŸŽฏ Usage

Automatic Conversion

  1. Browse any website with Spotify links (Twitter, Reddit, blogs, etc.)
  2. Click any Spotify link
  3. TuneSwap automatically opens the corresponding Apple Music search
  4. Find your music instantly! ๐ŸŽต

Manual Conversion

Settings & Statistics

๐ŸŒ Supported Content Types

TuneSwap handles all Spotify content types:

๐Ÿ—‚๏ธ Project Structure

tuneswap/
โ”œโ”€โ”€ manifest.json          # Extension configuration
โ”œโ”€โ”€ background.js          # Service worker (background tasks)
โ”œโ”€โ”€ content.js            # Content script (link interception)
โ”œโ”€โ”€ popup.html           # Popup interface
โ”œโ”€โ”€ popup.js             # Popup functionality
โ”œโ”€โ”€ diagnostic.js        # Debug utilities
โ”œโ”€โ”€ index.html          # Demo page
โ”œโ”€โ”€ tuneswap.svg        # Logo
โ”œโ”€โ”€ icons/              # Extension icons
โ””โ”€โ”€ README.md           # This file

โš ๏ธ Current Limitations

๐Ÿš€ Roadmap & Future Features

๐ŸŽฏ Short Term

๐Ÿ”ฎ Long Term

๐Ÿ’Ž Premium Features (Planned)

๐Ÿ›Ÿ Troubleshooting

Extension Not Working?

  1. Check that TuneSwap is enabled in chrome://extensions
  2. Verify the extension has necessary permissions
  3. Try refreshing the webpage
  4. Check console for error messages (F12 โ†’ Console)
  1. Ensure the link is a valid Spotify URL
  2. Check your internet connection
  3. Verify your selected country in TuneSwap settings
  4. Try the โ€œTest Conversionโ€ button in the popup

Need More Help?

๐Ÿค Contributing

We welcome contributions! Hereโ€™s how you can help:

  1. ๐Ÿ› Report Bugs: Open an issue with detailed steps to reproduce
  2. ๐Ÿ’ก Suggest Features: Share your ideas for new functionality
  3. ๐Ÿ”ง Submit PRs: Help improve the codebase
  4. ๐Ÿ“– Improve Docs: Help make the documentation better
  5. ๐ŸŒŸ Spread the Word: Share TuneSwap with other music lovers!

Development Setup

git clone https://github.com/yourusername/tuneswap.git
cd tuneswap
# Load in Chrome as unpacked extension
# Make changes and reload extension to test

๐Ÿ“„ License

MIT License

Copyright (c) 2025 Carlos Vidal

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the โ€œSoftwareโ€), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED โ€œAS ISโ€, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


**Made with โค๏ธ for music lovers everywhere** [๐ŸŒ Website](https://tuneswap.xyz) โ€ข [๐Ÿ› Issues](https://github.com/yourusername/tuneswap/issues) โ€ข [๐Ÿ’ฌ Discussions](https://github.com/yourusername/tuneswap/discussions)