Replace Spotify API with screenshot taste workflow and example profile.

Remove spotify integration; add TASTE-FROM-SCREENSHOTS guide; ship Ozan settings.json and taste_seeds.json as Cursor examples plus new wandering dervish track.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-07 14:47:47 +01:00
parent 6843ecd6b0
commit 02ea026851
21 changed files with 294 additions and 210 deletions
+96
View File
@@ -0,0 +1,96 @@
# 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 515 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.