From concert program to playable recording.
The app does not ask Spotify to guess. It builds a classical work model, gathers evidence, then lets you approve the recording.
The program becomes repertoire.
Gemini extracts composer, title, catalog, key, movements, instrumentation, and search aliases.
Your listening history gets the first look.
Playlists, saved tracks, recent plays, and top tracks are checked before generic catalog results, and boosted once they are confirmed to be the same work.
Research becomes evidence.
Brave finds source-grounded pages. Gemini extracts ranked recording clues from recommendation sources, not reference pages.
Spotify is used only when the recording is playable.
Albums are expanded, movement slices are selected, and you review the choices before creating or appending.
Popularity is last.
Classical matching prioritizes evidence that the recording is the right work, complete enough, and relevant to you.
- 01Exact work
- 02Your library
- 03Movement coverage
- 04Catalog/key
- 05Recommendation evidence
- 06Popularity
This isn't one prompt to an LLM.
Recognizing a work is one problem. Proving a Spotify recording actually is that work is another. Here is the real pipeline, the scoring it runs, and how we know it works.
Pasted concert program, any format
Gemini structured extraction, rules-based fallback
Your playlists · your library · Spotify catalog · web reviews
- Your playlists
- Your library
- Spotify catalog
- Web reviews
Composer/catalog/title checks gate every candidate before ranking
Ranked recordings, reviewed and confirmed by you
Exact movement tracks, in program order
How a recording is scored
Every candidate album gets an additive score from independent signals below. A candidate is discarded outright unless it clears a composer/catalog/title verification gate first — no amount of popularity or personal-library boost can substitute for proof it's the right work.
| Signal | Points | What it checks |
|---|---|---|
| Composer match | 50 | Any known alias of the composer appears in the album/track text |
| Work title match | 45 | Parsed title or any Gemini-generated alias (nicknames, translations) |
| Catalog number | 18 | Op./BWV/K./D. number, tolerant of punctuation and spacing |
| Movement coverage | 0–24 | Fraction of the work's movements actually found on the recording |
| Continuity | 6–12 | Whether the selected tracks form one contiguous slice |
| Your library | 0–70 | Boosted only once composer/title identity is already confirmed |
| Recommendation evidence | 0–60 | Review-site mentions of this exact recording, capped so it can't dominate |
| Popularity | 0–8 | Tie-breaker only, never a primary signal |
You still decide.
Every match remains review-first: choose one, choose several, exclude a piece, then save to a new or existing playlist.
Open the curator