“Crafting your musical soulmate with personalized, data-driven recommendations.”
TuneWeave is a modern music discovery application that generates personalized playlists with minimal effort. It analyzes listening preferences and leverages large-scale playlist data to recommend tracks and assemble bespoke playlists that evolve with your taste.
Keeping up with new releases and finding hidden gems is hard. TuneWeave bridges the gap with a personalized discovery experience. By combining preference modeling with large-scale playlist patterns, it delivers high-quality recommendations and auto-generated playlists tailored to you.
- Personalized suggestions: Preference-aware track and artist recommendations.
- Playlist generation: Build playlists by mood, genre, or seed artists.
- Trend discovery: Surface popular tracks across genres.
- Containerized runtime: Run locally via Docker in minutes.
TuneWeave uses the Spotify Million Playlist Dataset, a large-scale corpus of user playlists for training and evaluation.
- Dataset: Spotify Million Playlist Dataset
- Place
.jsonfiles underproducer/data/before running the app
Example snippet (abridged):
{
"name": "musical",
"pid": 5,
"num_tracks": 12,
"tracks": [
{
"pos": 0,
"artist_name": "Degiheugi",
"track_name": "Finalement",
"duration_ms": 166264
}
]
}Prerequisites:
- Install Docker:
https://www.docker.com/get-started
Clone the repository:
git clone https://github.com/Mexicoco/TuneWeave.git
cd TuneWeaveAdd dataset files:
- Download the full dataset from the link above and place the
.jsonfiles underproducer/data/.
Build and run:
docker-compose build
docker-compose upOpen the app:
- Navigate to
http://localhost:80in your browser.
- Ensure
producer/data/contains the dataset.jsonfiles. - Use Docker for a consistent environment. If you prefer running services individually, mirror the container configuration locally.
High-level layout (key folders):
producer/— data ingestion/processing and dataset files underproducer/data/docker-compose.yml— multi-service orchestration for local runtimeproj/— project documentation and meta files
Contributions are welcome! Please open an issue or submit a pull request.
- Fork the repo on GitHub
- Create a feature branch
- Commit changes with clear messages
- Open a pull request with context and screenshots if applicable
This project is licensed under the MIT License. See LICENSE for details.
--—
Maintained by @GinaGWL — GitHub: https://github.com/GinaGWL