The Mixtape Project is a nostalgic, retro-themed web app that lets users create, play, share, and remix mixtapes. It simulates the feel of classic cassette tapes while incorporating modern digital features like cloud storage, seamless audio playback, and social sharing.
🚀 Live Demo: Mixtape Project
✅ Retro-Themed UI – Styled like a classic cassette player with animated reels
✅ Custom Mixtapes – Users can add tracks, arrange them, and customize labels
✅ Seamless Audio Playback – Smooth playback transitions via YouTube iFrame API
✅ Firebase Integration – Mixtapes are securely stored & can be revisited anytime
✅ Social Sharing – Generate & share unique mixtape links with friends
✅ Remix Mode – Users can modify & create their own versions of shared mixtapes
✅ Fully Responsive – Optimized for desktop & mobile devices
Page Name | Screenshot |
---|---|
Create Mixtape | ![]() |
Play Mixtape | ![]() |
Remix Mixtape | ![]() |
- Frontend: React.js + Vite.js
- UI Design: Tailwind CSS
- Database: Firebase Firestore
- Authentication: Firebase Auth
- Audio Playback: YouTube iFrame API
git clone https://github.com/AdvaySanketi/Mixtape.git
cd Mixtape
npm install
Create a .env.local
file in the root directory and add the required Firebase credentials:
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
npm run dev
The project should now be running on http://localhost:3000 🚀
- Add songs via YouTube links
- Customize the mixtape title & design
- Save & generate a unique link to share
- Load the Mixtape into the cassette
- The app automatically plays YouTube videos from the mixtape
- Users can play, pause, and skip songs
- The UI mimics a classic cassette player, with animated reels and buttons
- Users can modify an existing mixtape
- Changes are saved under the the Mixtape ID
✔ Lazy Loading – Mixtape data is fetched only when needed
✔ Vite.js Optimization – Ensures faster builds & hot module replacement
✔ CSS Animations – Smooth cassette reel spinning effect without re-renders
Contributions are welcome! To contribute:
- Fork this repository
- Create a new branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add some AmazingFeature'
- Push to the branch:
git push origin feature/AmazingFeature
- Open a Pull Request 🚀
Distributed under the MIT License. See LICENSE for more information.
Having trouble? Want to request a feature? Here's how you can get help:
- Open an issue.
- Contact the maintainer: Advay Sanketi
🎵 Bringing back the mixtape culture with modern web tech! 🚀