Book

Exploring Freelancing

Navigate freelancing as a developer; find clients, manage contracts, ensure timely payment, and learn from experiences!


Exploring MusicKit

I wrote this book to fill in the gap for the documentation, filled with examples so that you do not have to spend time experimenting yourself.

I hope this book provides value to you and your app, and you enjoy working with MusicKit and integrating Apple Music into your app!

Use the discount code “early” for a massive 75% discount!

I want this!


Since last December, I’ve wanted to build my own music app. I started with the design out of boredom from not studying for end semester exams.

Initially, I wanted to make a Spotify client that focused more on individual songs instead of playlists. But, I felt the authentication process was complicated, and maybe the SDK as well. So, I abandoned my efforts and put this one in the side-project graveyard.

With the announcement of MusicKit for Swift during WWDC ‘21, I’m excited to revive the project!

MusicKit is a framework for Apple platforms written using Swift with expressive APIs. Unfortunately, it is available for the latest versions only.

  • iOS 15.0+
  • macOS 12.0+
  • Mac Catalyst 15.0+
  • tvOS 15.0+
  • watchOS 8.0+

The methods use the new concurrency syntax, so no callback hell/ pyramid of doom! Also, it is designed for use with SwiftUI, so this framework feels at home.

Joel did a fantastic job explaining in the session Meet MusicKit for Swift the new features added this year.

The Apple developer forum related to MusicKit is exceptionally active. Apple engineers are improving the framework taking feedback from the developers, and iterating it every beta. I’m bullish on this framework’s future, and the best way to experiment with it is to create my own version of Apple Music.

This series will be my notes on building my own Apple Music client. I’ve named it Musadora and it’ll include ShazamKit functionality.

I hope you’re looking forward to it!

Book

Exploring Freelancing

Navigate freelancing as a developer; find clients, manage contracts, ensure timely payment, and learn from experiences!