Retro
an ipod classic for iOS/Android, built with Flutter
Install / Use
/learn @retromp3/RetroREADME

About
Retro aims to bring back the iPod Classic experience to iOS and Android. Retro currently only works with Spotify. Apple Music support is ongoing with no planned release date.
Roadmap
- [X] iOS
- [X] Android
- [X] Spotify
- [ ] Liked Songs (deprecate all songs)
- [ ] Shuffle Songs
- [ ] Apple Music
Installation
iOS
If the Testflight is full you can sideload it.
Android
Install the beta from the Google Play Store.
Contribute & Build from Source
Stack
- Flutter/Dart for the main app
- Swift/SwiftUI for the WatchOS companion app (Retro Shuffle WIP)
- API: Spotify SDK, MusicKit
Getting Started
Prerequisites
- Download and install Flutter. You can find instructions here.
iOS Setup
- Ensure you have an Apple Developer account (paid or free). You can find instructions here.
- Clone this repository.
- Navigate to the project directory:
cd retro - Open the
iosfolder in Xcode and select your Apple Developer account for signing. You may need to change the bundle ID. - Create a Spotify app here and insert the Client ID and Redirect URIs in the
.env.examplefile. Rename it to.env. The Redirect URI in your Spotify dashboard can be pretty much anything, e.g., comspotify://co.retromusic. Ensure the bundle ID in Xcode matches the one under iOS app bundles in the Spotify Dashboard. - In the terminal, run
flutter pub get && flutter run. - The app should now run on your iOS device.
Android Setup
- Clone this repository.
- Navigate to the project directory:
cd retro - Create a Spotify app here and insert the Client ID and Redirect URIs in the
.env.examplefile. Rename it to.env. The Redirect URI in your Spotify dashboard can be pretty much anything, e.g., comspotify://co.retromusic. - Navigate to the
androiddirectory and generate an SHA1 Fingerprint with the following command:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
(You will need to create one if you haven't already).
- Under 'Android packages' in your Spotify dashboard, add the corresponding package/application ID and paste the SHA1 fingerprint generated in the previous step. The android package name can be found in the AndroidManifest.xml files in the android/app/src (debug, main, profile) directories. Ideally, change the package name to something unique. Defaults to co.retromusic.app2.
- In the terminal, run
flutter pub get && flutter run. - The app should now run on your Android device in debug mode.
Contributing
Firstly, thank you for considering contributing 😁
- If you're fixing a bug, feel free to submit a PR and specify what you are fixing!
- If you believe something should be changed, open an issue here or discuss it on the Discord before making the change.
Other than that, there are no specific requirements. Your contributions are appreciated!
Related Skills
diffs
343.3kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
1.9kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to
