https://github.com/devidw/deep-mov-rec

recommend me movies that i have NOT seen

https://github.com/devidw/deep-mov-rec

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary

Keywords

deepsearch movie-recomendation-system movie-recommedation movie-recommendation-app
Last synced: 5 months ago · JSON representation

Repository

recommend me movies that i have NOT seen

Basic Info
  • Host: GitHub
  • Owner: devidw
  • Language: TypeScript
  • Default Branch: main
  • Homepage:
  • Size: 43.9 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
deepsearch movie-recomendation-system movie-recommedation movie-recommendation-app
Created about 1 year ago · Last pushed 11 months ago
Metadata Files
Readme

readme.md

recommend me movies that i have NOT seen

04/04/25: oai 6 google deep research totally ignore the exclusion list and recommend tons of excluded titles. i feel like a way to solve this would be some kine of tool that allows them to query a suggestion against an exclusion list with embeddings as part of the reasoning or research process.

03/08/25: exclusion lists work reliable with reasoning models. this change in model capabilites make this repo obsolete.

asking llms for movie recs is great \ just you don't want to get recommended movies you've seen already \ so you list all the movies you've seen already \ models struggle to exclude them tho \ this project tries to solve this with a code-based check

how it works

  1. user describes movie preferences
  2. preferences are turned into a series of search queries
  3. /r/MovieSuggestions is searched for relevant results
  4. posts with 1st level comments are retrieved
  5. llm extracts movie titles from comments
  6. already seen movies are filtered out, using imdb csv export
  7. remaining movies are checked against user preferences again to ensure quality

usage

  • config.ts
  • user.txt : describe your movie preferences, likes, dislikes, actors, directors, up to you
  • seen.txt : newline sep list of movie titles that u have seen already
    • imdb.ipynb: if you want to gen from an imdb list like your check-ins or ratings
    • seen_extra.txt : sometimes reddit mentioned titles don't match either of imdb title or imdb original title, in that case you can blacklist them manually with the reddit mentioned title alias, case doesn't matter

bash OPENAI_API_KEY="" REDDIT_API_KEY=""

  • reddit api key is an access token obtained via oauth, you have to setup a reddit script app and run through the oauth flow to get one

bash pnpm i

bash pnpm tsx main.ts

example

input

  • avoid movies that are just at a single location, i prefer 'open world' kinda feel
  • avoid movies that are too shaky, action with tons of cut scenes and fights and gun fire, it can have some, but should be a good balance with actual depth
  • fucked up stuff is a plus, like black mirror, memento, existenz etc, david cronenberg
  • avoid overly romance, sex is a plus but not overly relationship / love driven, heavy
  • shouldn't feel too old, it's okay if it's older, but it shouldn't feel old, taxi driver is old but doesn't feel old, great movie
  • shouldn't be a too femaleish theme like black swan
  • shouldn't be a politics, police or law heavy movie, it can be in there but shouldn't be the main theme
  • no musicals, no documentaries, no black and white, no silent movies
  • i like cyberpunk, scifi, mystery, thriller btw, not limited to but i like those

output

  1. [5/5] A Scanner Darkly src
  2. [5/5] Synchronic src
  3. [5/5] The Quiet Earth src
  4. [5/5] Primer src
  5. [5/5] Moon src
  6. [5/5] Possessor src
  7. [5/5] Brazil src
  8. [5/5] Never Let Me Go src
  9. [5/5] The Arrival src
  10. [5/5] Coherence src
  11. [4/5] The Lobster src
  12. [4/5] Perfect Blue src
  13. [4/5] Sputnik src
  14. [4/5] Liquid Sky src
  15. [4/5] Lifeforce src
  16. [4/5] The Hidden src
  17. [4/5] Antiviral src
  18. [4/5] Infinity Pool src
  19. [4/5] Time Crimes src
  20. [4/5] After Yang src
  21. [4/5] I Am Mother src
  22. [4/5] What Happened to Monday src
  23. [4/5] Prospect src
  24. [4/5] Space Sweepers src
  25. [4/5] Resolution src
  26. [3/5] The Killing of a Sacred Deer src
  27. [3/5] Under the Silver Lake src
  28. [3/5] Sin City src
  29. [3/5] They Cloned Tyrone src
  30. [3/5] Spring src
  31. [3/5] Spectral src
  32. [3/5] Returner src
  33. [2/5] Blood Quantum src
  34. [2/5] Infinity Chamber src

Owner

  • Name: David Wolf
  • Login: devidw
  • Kind: user
  • Location: The Zone

// uncommenting

GitHub Events

Total
  • Push event: 7
Last Year
  • Push event: 7

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 9
  • Total Committers: 1
  • Avg Commits per committer: 9.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 9
  • Committers: 1
  • Avg Commits per committer: 9.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
devidw 6****w 9

Issues and Pull Requests

Last synced: 7 months ago


Dependencies

package.json npm
  • @iarna/toml ^2.2.5
  • @types/lodash ^4.17.16
  • @types/node ^22.13.8
  • csv-parse ^5.6.0
  • dotenv ^16.4.7
  • lodash ^4.17.21
  • openai ^4.86.1
  • tsx ^4.19.3
pnpm-lock.yaml npm
  • aix-ppc64@0.25.0
  • android-arm64@0.25.0
  • android-arm@0.25.0
  • android-x64@0.25.0
  • darwin-arm64@0.25.0
  • darwin-x64@0.25.0
  • freebsd-arm64@0.25.0
  • freebsd-x64@0.25.0
  • linux-arm64@0.25.0
  • linux-arm@0.25.0
  • linux-ia32@0.25.0
  • linux-loong64@0.25.0
  • linux-mips64el@0.25.0
  • linux-ppc64@0.25.0
  • linux-riscv64@0.25.0
  • linux-s390x@0.25.0
  • linux-x64@0.25.0
  • lodash@4.17.16
  • netbsd-arm64@0.25.0
  • netbsd-x64@0.25.0
  • node-fetch@2.6.12
  • node@18.19.78
  • node@22.13.8
  • openbsd-arm64@0.25.0
  • openbsd-x64@0.25.0
  • sunos-x64@0.25.0
  • toml@2.2.5
  • win32-arm64@0.25.0
  • win32-ia32@0.25.0
  • win32-x64@0.25.0