Decisions
These are the decisions behind TVLens, one record each, in the order they were made. Every record says what was chosen, what it was measured on, and why. The code they govern cites them by number, and the 80-Day Project is the day by day account of arriving at them.
- 01Exclude casting roles from crew matching
- 02Ingest per-episode credits, and record episode counts
- 03Three identities: pk, tmdb_id, slug
- 04Recommend by episode-weighted shared people
- 05Fall back down a ladder when the people graph has no signal
- 06Lift the SQL variable ceiling in the recommenders
- 07Precompute the Layer 1 ranking and serve it from a table
- 08Layer 2: personalize by re-ranking the graph per user
- 09Side Quests: strong connections into genres a user has not rated highly
- 10Rating saves in place, and TVLens takes its first script
- 11One visual identity, defined once, taken from the landing page itself
- 12Catalog search: one query per branch, matched on word boundaries
- 13Resolve seasons and episodes by two keys, because TMDb keeps neither stable
- 14Tags are a shared vocabulary applied privately
- 15Learn whether a reader is tied to shows by cast or by crew, and name accordingly
- 16Shipping the catalog is a merge, and spoken-for shows are undeletable