Files
live-radio/docs/TASTE-FROM-SCREENSHOTS.md
ozan 02ea026851 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>
2026-06-07 14:47:47 +01:00

97 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.