About Mixtape Society¶
Mixtape Society is a self-hosted web application that lets you create, manage, and share personalized music mixtapes from your own music library. Inspired by the nostalgia of cassette tapes, it brings a modern twist: drag-and-drop editing, custom covers, and public share links for easy listening without accounts or apps.
🥅 Project Goals¶
- Privacy-First: Everything runs on your hardware—no cloud uploads, no tracking.
- Simplicity: Easy to set up and use, even for non-techies.
- Nostalgia Meets Modern: Recreate the joy of mixtapes with features like themes and browser-based streaming.
- Open Source: Free and open for contributions, under the MIT License.
🧔🏼♂️ Who Built This?¶
Hi, I'm Mark Zwart (e.g., mark-me on GitHub), a Dutch developer and music enthusiast based in The Netherlands. I created Mixtape Society because I wanted a simple way to share curated playlists from my personal collection without relying on big streaming services.
If you'd like to connect:
- GitHub: github.com/mark-me
🙌 Acknowledgements¶
Mixtape Society leverages several fantastic open-source libraries and tools. A big thank you to the developers and communities behind these projects.
Python & Backend¶
- Flask – Web framework that powers everything
- Jinja2 – Templating engine used for dynamic HTML rendering in all pages.
- Flask-CORS – Simple cross-origin resource sharing
- Flask-Limiter – Rate limiting for the login route
- Flask-Login – Session management
- FFmpeg - Transcoding audio quality
- Gunicorn – Production WSGI server
- Pillow – Image processing for uploaded covers and OpenGraph image generation
- python-dotenv – Easy .env file support
- python-json-logger – Structured logging
- TinyTag – Fast and lightweight audio metadata reading
- Watchdog – File system events for auto-reindexing the music library
- SQLite – Embedded, zero-configuration database that stores the music library index and makes instant search possible.
Documentation¶
- MkDocs & Material for MkDocs – Static documentation you’re reading right now
- mkdocstrings – Auto-generated API docs from code
- mkdocs-git-revision-date-localized-plugin – Page last-updated dates
- mkdocs-git-committers-plugin – Contributor credits
- mkdocs-panzoom-plugin – Zoomable screenshots
- mermaid2 – Diagrams
Frontend & Design¶
- Cassette Tape SVG Vector by flat-icon-design- Favicon is based on this
- Bootstrap 5 – The entire responsive UI, cards, buttons, modals, and grid system
- Bootstrap Icons – All the lovely icons you see everywhere
- Sortable.js – Drag-and-drop reordering in the editor
- Vibrant.js – Extract prominent colors from an image.
⚖️ License¶
Mixtape Society is released under the . Feel free to fork, modify, and share—but remember, users are responsible for their own music content (no copyrighted media is included or distributed).
👥🔧 Get Involved¶
- Report issues or suggest features on GitHub Issues.
- Star the repo if you like it!
Thanks for checking out Mixtape Society—happy mixtaping! 🎧
