# Taste from Spotify screenshots (no API keys) Live Ozan Radio does **not** connect to Spotify. Every track is generated fresh — we never play catalog music. Your taste lives in two files the DJ reads on every generate: | File | Purpose | |------|---------| | `settings.json` | Broad profile — genres, mood, instruments, tempo, references, avoid | | `taste_seeds.json` | Concrete anchors — artists, playlists, albums, track vibes | **Easiest setup:** open this repo in **Cursor** (or Claude Code), paste Spotify screenshots, and ask the agent to update those two files. --- ## What to screenshot Capture anything that shows your real listening — the more context, the better: 1. **Spotify Home** — Daily Mixes, Jump back in, Made For you 2. **Your Library** — playlists, artists, albums (scroll if needed) 3. **Liked Songs** or a playlist you actually use 4. **Now Playing** — optional, shows current mood Two or three screenshots usually enough. PNG from desktop app or phone both work. --- ## Cursor prompt (copy-paste) Attach your screenshots to the chat, then paste: ``` I'm setting up Live Ozan Radio (this repo). No Spotify API — taste only. Look at my Spotify screenshots and update: 1. settings.json → taste section (summary, genres, mood, instruments, tempo_bpm, references, avoid) 2. taste_seeds.json → genres, artists, playlists, and 5–15 track/album seeds with short "vibe" lines Rules: - Infer crossover taste the DJ can compose toward — not a copy of any one artist - settings.json = creative direction for Lyria; taste_seeds.json = concrete reference anchors - Never suggest playing Spotify URLs — generation only - Keep listener name as me unless I say otherwise - Show me a short summary of what you inferred before writing files ``` The agent edits the JSON files. Restart the server (or just generate — settings reload every request). --- ## Claude Code / pi / other agents Same flow: clone repo, add screenshots, use the prompt above. Entry point: `AGENTS.md` and `.cursor/skills/ozan-radio/SKILL.md`. --- ## Manual edit (no AI) Edit `settings.json` and `taste_seeds.json` by hand. See `taste_seeds.json` for the track object shape: ```json { "title": "Garip", "artists": ["Altın Gün"], "album": "Garip", "vibe": "Anadolu psych-folk, bağlama, fuzzy warmth, hypnotic groove" } ``` --- ## Friends / group taste For a shared WhatsApp vibe (everyone's links and references), paste the **chat excerpt + screenshots** into Cursor: ``` Our friend group shares this taste (chat + screenshots attached). Update settings.json for a crossover station everyone would enjoy on repeat. Bias: [e.g. Anadolu psych, Soap&Skin ether, Mercan Dede, dubtronica] ``` Commit `settings.json` + `taste_seeds.json` if you want the profile in git. Keep `.env` private (API keys only). --- ## Example profile (checked in) The repo ships **Ozan's** profile as a reference — do not need to match it; replace with your own. | File | What it shows | |------|----------------| | [`settings.json`](../settings.json) | Full DJ direction — genres, mood, instruments, tempo, references, avoid | | [`taste_seeds.json`](../taste_seeds.json) | Concrete anchors — artists, playlists, albums, track vibes | Built from Spotify screenshots: Altın Gün, Baaba Maal, Thievery Corporation, islandman, Blanco White, ethnic chill, dubtronica, Anadolu psych.