iSoundPort App Preview

Building iSoundPort: My Journey Creating a Full-Stack Music Playlist Converter

For years, I've been a music enthusiast with playlists spread across different streaming platforms. The frustration of recreating carefully curated playlists when switching services led me to build iSoundPort — a web application that seamlessly converts iTunes playlists to Spotify.

The Problem

Moving between music streaming platforms has always been a pain point. When I decided to switch from Apple Music to Spotify, I faced the tedious task of manually recreating dozens of playlists I'd built over years. I knew there had to be a better way, and that's when the idea for iSoundPort was born.

iSoundPort Interface
iSoundPort's main interface showing the playlist conversion process

Technical Architecture

I designed iSoundPort as a full-stack web application with the following components:

Backend Framework: Flask

I chose Flask as my backend framework for its lightweight nature and flexibility. Flask allowed me to quickly develop a RESTful API that could handle the complex playlist conversion process, manage authentication tokens, and interface with external services.

Authentication System: Firebase Authentication

Security and user management were key considerations. Firebase Authentication provided a robust, ready-to-implement solution that handled:

  • Secure user registration and login
  • OAuth integration for Spotify login
  • Token management for API access

Database: Firebase Realtime Database

For storing user profiles, conversion history, and payement status, I implemented Firebase Database. This NoSQL cloud database allowed for:

  • Storage of user profiles
  • Storage of user history
  • Storage of payment status
  • Scaling without managing complex database infrastructure

Payment Processing: Stripe

While the basic functionality is free, premium features needed a sustainable business model. Stripe integration allowed for:

  • Secure payment processing
  • Subscription management for premium features

API Integration: Spotify Web API

The core functionality relies on Spotify's Web API. I developed a sophisticated matching algorithm that:

  • Parses iTunes XML playlist exports
  • Performs intelligent search queries on Spotify
  • Uses multiple matching criteria to find the right tracks
  • Handles edge cases like remixes, covers, and featurings

Deployment: Docker & Render

For deployment, I containerized the application using Docker which ensured consistency across different environments. The containerized application is hosted on Render, which provides:

  • Automatic deployments from GitHub
  • Load balancing for handling traffic spikes
  • SSL certificate management
iSoundPort Architecture
High-level architecture diagram of the iSoundPort application

Technical Challenges

Track Matching Accuracy

The biggest challenge was achieving high accuracy in track matching. Songs often have different versions, remasters, or slight naming differences between platforms. I developed a multi-stage matching algorithm that:

  1. Performs exact match searches first
  2. Falls back to fuzzy matching for title and artist
  3. Provides confidence scores for each match

API Rate Limiting

Spotify's API has strict rate limits that presented challenges for users with large playlists. I implemented a queuing system with exponential backoff strategies to handle these limits gracefully without compromising the user experience.

Lessons Learned

Authentication Complexity

Working with multiple authentication systems (Firebase and Spotify OAuth) taught me the importance of careful token management and security considerations for refresh tokens.

Full-Stack Integration

Building iSoundPort deepened my understanding of how frontend and backend systems interact. The project required careful coordination between user interfaces, API calls, background processing, and database operations.

Production Deployment

Moving from development to production highlighted the importance of environment management, secret handling, and continuous integration workflows. Docker containers significantly simplified this process.

Future Enhancements

The journey doesn't end here. I'm working on several enhancements:

  • Support for additional streaming platforms (YouTube Music, Deezer, etc.)
  • Advanced playlist organization tools
  • Collaborative playlist conversion
  • Improved matching algorithms using audio fingerprinting

Conclusion

Building iSoundPort was not just about solving a personal problem—it became a journey of technical exploration and growth. The project integrated multiple modern web technologies into a cohesive system that provides real value to users.

If you're interested in trying iSoundPort, visit isoundport.com. I welcome feedback and feature suggestions from fellow music enthusiasts and developers alike!

Please note that the app is currently only availble through the free tier of Spotify, as it first needs to be approved by Spotify.