Before the days of streaming services, we relied on physical devices to store our limited libraries of music. Now with the streaming age, we no longer rely on physical storage and have endless hours of songs at our disposal. This project is an homage to the good 'ol days. A mix of the old and new. Experience the iPod Classic you used to own that now connects to Spotify and Apple Music — the two most popular music streaming platforms in the world.
I built this thing to be very extensible – to the point where it can even run games (like brick!). In the future I might consider adding a few more little apps and easter eggs (theming?).
- Configured for Vercel
- Next.js 14
- React 18
- Styled Components 6
- Framer Motion 10
- Spotify Web Playback SDK
- Apple MusicKit JS
All SVGs were created from scratch by myself in Figma.
This project utilizes the following environment variables. If you are using Vercel, you can set these in the Vercel dashboard.
Learn more about the Spotify Web Playback SDK here.
SPOTIFY_CLIENT_ID
- The unique identifier of your Spotify appSPOTIFY_CLIENT_SECRET
- The key you will use to authorize Web API or SDK calls
Learn more about Apple MusicKit JS here. You will need to create a MusicKit identifier and private key in the Apple Developer Portal.
Follow the instructions here to generate a private key.
APPLE_DEVELOPER_TOKEN
- A signed token used to authenticate a developer in Apple Music requests
To install this project, you will need to have Node, Yarn, and Vercel on your machine. Then, run the following commands:
# Use the recommended Node version specified in the .nvmrc file
nvm use
# Install dependencies
yarn
# Run the app in dev mode using Vercel
yarn start
Visit http://localhost:3000/ipod to view the app.