an interactive spotify wrapped experience that segments your listening history into distinct "eras" based on your musical evolution.
built with python (flask), javascript, and the spotify api.
- smart segmentation: uses algorithms to detect shifts in your music taste over time
- era analysis: names and describes each of your musical eras using ai
- interactive timeline: explore your history with a smooth, gesture-based ui
- spotify integration: creates playlists for each era and saves them to your account
- personalized stats: track your top artists, tracks, and listening time per era
you need a spotify developer account and python 3.8+ installed.
- clone the repo
- create a virtual environment:
python3 -m venv venv source venv/bin/activate - install dependencies:
pip install -r backend/requirements.txt
- create a
.envfile in the root directory (see.env.example) and add your credentials:- spotify client id & secret
- openai api key (for era naming)
- flask secret key
start the backend server:
cd backend
python3 app.pyin a separate terminal, start the frontend:
cd frontend
python3 -m http.server 8000open http://localhost:8000 in your browser.
run the backend test suite:
cd backend
pytestsee docs/testing.md for full testing documentation.
configured for production with gunicorn. see docs/production.md for the readiness checklist and deployment guide.
mit