Guide
How this dashboard is built and kept current
Six steps, in order. Each stands on its own if you stop partway.
Field note
The first deploy ranked a generic trending chart above your actual taste — a slapstick comedy nearly beat a spy thriller with Rami Malek, since every genre counted equally and candidates came from a generic “trending now” list. That's why step 03 exists.
Built entirely in Cowork, no terminal opened — you asked for the technical work done without one. The Chrome extension reads your already-logged-in Netflix and Prime tabs directly; credentials are never requested or stored.
- signature genre calls
- actor-match weight
- what to permanently exclude
- skill & data files
- the scoring script
- this dashboard, end to end
- Netflix & Prime history
- never touches credentials
- drives the Netlify upload
- Mondays, automatic
- see Roadmap, phase 04
- stops rather than publishing a partial state
Netflix and Prime's history pages list only a title and date — no genre, no cast. Every tag and credit in the 190-title log came from a web search per title, not platform metadata. Watch status is inferred from episode counts and gaps, not scraped truth. Coming Soon draws from BritBox, PBS Masterpiece, Netflix Tudum, Den of Geek, What's on Netflix, and JustWatch — first-party and trustworthy outlets only, cited so you can judge reliability yourself. Poster art comes from Wikipedia or IMDb; if neither has real art yet, you get an initials monogram instead of a guess.
Broad buckets like Comedy or Drama are shared by dozens of unrelated titles — weak evidence alone. Genres that recur meaningfully (British Procedural, Spy Thriller, Mystery, Action Thriller) count in full, plus a bonus for cast overlap with titles you loved. Genres you've said you dislike are hard-capped regardless of history.
Like the other two sites, this reads one published snapshot, not a live account. Nothing touches your Netflix or Prime session while you're viewing — sync happens in a Cowork session, either on your ask or on the Monday schedule, then gets rebuilt into static files.
This sandbox blocks direct calls to Netlify's API and CLI — confirmed by a 403 on every Netlify domain tried. The workaround: Netlify's own upload page, driven through the Chrome extension instead of a terminal. The Monday scheduled task drives this the same way. That path only publishes static files — Netlify Functions (what the other two sites use for their backends) require Git-connected continuous deployment, confirmed both by testing a real function here and by Netlify's own docs. Getting one working means linking a GitHub repo to this project.
Dismissing a title on the dashboard hides it on your device immediately, but making it permanent still needs a nod from you in chat — there's no backend to write EXCLUDED_TITLES.md on its own. No health check confirming the scheduled run actually published cleanly, either — worth a glance at the site after a Monday run.
What this took to learn
Generic isn't irrelevant, but it isn't taste. A title tagged only “Comedy” says little on its own — it takes a signature genre or actor match to make a real case.
A recommendation is only as honest as its candidate pool. Sourcing from a generic “trending now” chart regresses to generic picks no matter how good the scoring is.
Ask before spending anything. The domain needed the exact name and price confirmed first — and even then, entering payment stays with you.