Was ich bastle — Juli 2026
Screening Room: Film-Daten-Pipeline
Trakt-Historie und TMDB-Metadaten, gebündelt zu einem Sehprofil für Claude-Empfehlungen
Worum es geht
Das Projekt überträgt den Ansatz der Musik-Pipeline auf Filme und Serien. Datenquelle ist Trakt, wo alle Sichtungen auflaufen. Gegenüber Apple Music ist die Lage komfortabler: offene API, exakte Sichtungs-Timestamps statt Playlist-Monaten, echte Rewatch-Zähler und eine Bewertungsskala von 1 bis 10.
Die Pipeline
Trakt (History + Ratings) → TMDB (Metadaten) → Master-CSV → Sehprofil
- trakt_auth.py — einmaliger OAuth Device Flow, danach automatischer Token-Refresh
- monthly_update.py — holt die History inkrementell (jede Sichtung mit Zeitstempel), dazu Bewertungen und Play Counts, und mergt nur Neues in die CSV
- TMDB-Anreicherung — Genres, Regie und Laufzeiten; ein Cache hält die Abfragen unter den Rate Limits
Jeder Eintrag führt Titel, Typ, Jahr, Genres, Regie, Laufzeit, Sichtungszeitpunkt, Plays und Bewertung.
Automatisierung
Ein launchd-Job startet den Lauf am Ersten des Monats um 11 Uhr und zusätzlich bei jedem Login; ein Guard lässt nur alle 25 und mehr Tage einen Lauf durch. Ist der Rechner am Stichtag aus, wird beim nächsten Login nachgeholt. Manuelle Schritte gibt es im laufenden Betrieb keine.
Das Sehprofil
Die Roh-CSV ist 3,8 MB groß und taugt damit nicht als Chat-Grundlage. build_taste_profile.py verdichtet sie auf ein 16-KB-Profil: Genre-Verteilung, Regie-Favoriten, Rewatches, Serien-Bindung, vergessene Favoriten und Sehzeiten. Das Profil liegt als Wissensdatei im Claude-Projekt „Screening Room", die zugehörigen Anweisungen kommen aus screen_analyst_instructions.md. Empfehlungen basieren damit auf dem tatsächlichen Sehverhalten.
Zahlen aus dem Erstlauf
Beim Erstlauf wurden 506 Titel über TMDB angereichert. Der inkrementelle Testlauf danach brachte null Duplikate und lief komplett aus dem Cache, der launchd-Job durchlief den End-to-End-Test.
Tech Stack
- Python 3 — trakt_auth.py, monthly_update.py, build_taste_profile.py
- Trakt API — /history, /watched, /ratings
- TMDB API — Genres, Regie, Laufzeiten (gecacht)
- launchd — Monatslauf mit Nachhol-Logik
- Claude-Projekt — taste_profile_screen.md + Projekt-Anweisungen