All experiments
Swanson
Stalled"What should we watch tonight?"
Started 7 February 2026
GitHub
ragllmfastapisvelte
The problem: finding something to watch with my mother that we’ll both enjoy. Despite months of logged viewing data on whatisonthe.tv, there was no intelligent way to leverage that information.
Swanson is a context-aware chatbot that uses retrieval-augmented generation (RAG) to provide personalised recommendations grounded in actual watch history.
How it works
- Filter check-ins by viewing partner and timeframe
- Ask Swanson what to watch
- Get streamed recommendations with metadata cards
- Provide feedback (“very interested”, “interested”, “not interested”)
- Refine and repeat
The stack
- Backend: FastAPI with async patterns
- LLM: Claude Sonnet 4 via Anthropic API
- Frontend: SvelteKit
- Streaming: Server-Sent Events (SSE)
- Metadata: TheTVDB integration
Current status
Functioning and integrated into whatisonthe.tv. Stalled for now as it does what it needs to do. Future work might include cross-session learning and query caching.