feat: scaffold FastAPI backend with ports-and-adapters layout

This commit is contained in:
Justin Visser 2026-08-09 20:58:10 +02:00
parent adcf4b9df6
commit 1f40d064ad
25 changed files with 973 additions and 22 deletions

View file

@ -1,41 +1,41 @@
# discovery-by-llm
Muziekontdekking met een LLM als aanbevelingsmotor, op de Spotify Web API.
Music discovery with an LLM as the recommendation engine, on the Spotify Web API.
**These:** Spotify heeft zijn aanbevelings- en audio-intelligentielaag uit de
API verwijderd (recommendations en audio features zijn weg voor nieuwe apps).
Deze proof-of-concept beantwoordt de vraag of een LLM die rol kan overnemen,
met Spotify teruggebracht tot resolver, verifier, personalisatiebron en
afspeeloppervlak. Een naïeve-zoekbaseline maakt het antwoord meetbaar.
**Thesis:** Spotify removed its recommendation and audio-intelligence layer
from the API (recommendations and audio features are gone for new apps). This
proof of concept asks whether an LLM can take over that role, with Spotify
demoted to resolver, verifier, personalisation source, and playback surface.
A naive-search baseline makes the answer measurable.
> Werk in uitvoering — dit bestand wordt gevuld tijdens de bouw.
> Chronologisch verslag: [docs/logboek.md](docs/logboek.md).
> Work in progress — this file is filled in during the build.
> Chronological build log (Dutch): [docs/logboek.md](docs/logboek.md).
## Demo
*(volgt: gehoste instantie + lokale `docker compose up --build`, met en zonder
API-sleutels)*
*(to follow: hosted instance + local `docker compose up --build`, with and
without API keys)*
## Hoe het werkt
## How it works
*(volgt: pipeline-diagram en module-overzicht)*
*(to follow: pipeline diagram and module map)*
## Keuzes
## Choices
*(volgt)*
*(to follow)*
## Performance en optimalisaties
## Performance and optimisations
*(volgt)*
*(to follow)*
## Waar te kijken
## Where to look
*(volgt)*
*(to follow)*
## Werkwijze
## Method
*(volgt)*
*(to follow)*
## Wat ik heb geschrapt / wat ik hierna zou doen
## What I cut / what I would do next
*(volgt)*
*(to follow)*