Skip to content
Projects

tvillarete/ipod-classic-js has 1,639 GitHub stars and 133 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 04:03 UTC. Last push 2026-10-31.

How these counts are measured

An iPod Classic simulator that connects to Apple Music and Spotify. Built with React & Styled Components

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

iPod.js

The iPod Classic, rebuilt for the streaming era.

Spotify and Apple Music in a pixel-perfect iPod Classic, complete with click wheel, games, and themes.

Try it live

ipod


Quick Start

pnpm install
pnpm dev

On first run, you'll be prompted to enter values for each secret (Spotify credentials, Apple Developer Token). These are stored in a local Cloudflare Secrets Store managed by Wrangler.

Visit http://127.0.0.1:3000/ipod to start.

Use 127.0.0.1 instead of localhost. Spotify's redirect URIs require it.

Secrets

This project uses Cloudflare Secrets Store for managing secrets in both production and local development.

First-time setup

Running pnpm dev will automatically detect missing secrets and prompt you for values. You can also run the setup manually:

pnpm sync-dev-vars

You'll need the following values:

Secret How to get it
SPOTIFY_CLIENT_ID Create an app in the Spotify Developer Dashboard
SPOTIFY_CLIENT_SECRET Same Spotify app — copy the Client Secret
APPLE_DEVELOPER_TOKEN See the Apple Music JWT Generator

Spotify redirect URI

Add http://127.0.0.1:3000/ipod as a redirect URI in your Spotify app settings. Must be 127.0.0.1, not localhost.

Updating secrets

To update local secret values at any time:

pnpm sync-dev-vars

Deployment

Deployed on Cloudflare Workers via OpenNext.

pnpm build                        # Next.js + Serwist service worker
npx opennextjs-cloudflare build   # Bundle for Cloudflare Workers
npx opennextjs-cloudflare deploy  # Deploy to production

Production secrets are managed in the Cloudflare Secrets Store via the dashboard or wrangler secrets-store CLI.

Built With

Next.js, React, TypeScript, Styled Components, Motion.

License

MIT


Explore related projects