Inspiration
Most recommendation systems optimize for popularity. Cinema Taste asks a more personal question: How likely is this specific movie or series to match one person’s taste, and what evidence supports that estimate? The project grew from a real viewing history containing liked, disliked, and watchlist records. Instead of producing an unexplained recommendation score, Cinema Taste turns that history into an explainable taste profile built around the viewer’s own preferences — and, for every estimate, shows exactly which signals produced it.
What it does
Cinema Taste is a local-first, bilingual cinema companion that:
- Organizes liked, disliked, and watchlist titles in portable CSV files.
- Searches OMDb and lets the user review public metadata — including genres, director, cast, writers, language, and plot — before saving a title.
- Builds a personal taste fingerprint from genres, directors, cast, writers, ratings, runtime, era, and reference titles.
- Ranks the watchlist with the same compatibility engine used by the Likelihood page, so the two views can never disagree and scores refresh automatically as the history changes.
- Provides a dedicated Likelihood page with an estimated compatibility percentage, confidence level, supporting reasons, closest liked titles, and cautionary disliked references.
- Improves with use: as the Liked and Disliked libraries grow, the Likelihood engine gains more evidence and produces better-calibrated, generally more reliable personal estimates.
- Explains every score with a transparent “What is this score based on?” breakdown: each signal is shown with its value, weight, and contribution, and any evidence that was unavailable (for example, a missing director) is clearly marked as excluded rather than hidden.
- Reports uncertainty honestly: when the viewer’s own history is divided on a title’s profile, the score is pulled toward the middle with lower confidence and a “split taste — your call” verdict, instead of a falsely confident number.
- Lets the user send a title straight to the watchlist directly from a Likelihood result.
- Transfers metadata already retrieved on the Add Title page directly into the Likelihood analysis without requiring a second search.
- Generates structured English and Arabic evidence briefs for a deeper GPT-5.6 discussion.
- Includes an instant no-key demo that judges can test without installation or external credentials.
How the Likelihood analysis rates titles
OMDb supplies public metadata for the selected movie or series. The local analysis engine compares its genres, directors, cast, writers, runtime, and release year against the viewer’s liked and disliked history, using rating-weighted affinities and a nearest-neighbour reference match (the closest liked and disliked titles, plus a single best-match “anchor”). Each piece of evidence is weighted by how strongly the viewer rated it, and the two libraries are balanced so a genre that fills the same share of both counts as neutral rather than negative.
Cinema Taste is designed to become more reliable as the viewer’s history grows. As more representative movies and series are added to both the Liked and Disliked libraries, the Likelihood engine gains stronger positive and negative evidence, allowing it to distinguish lasting taste patterns from isolated reactions. This makes future estimates better calibrated and generally more accurate for that specific viewer.
The interface then returns:
- An estimated personal compatibility percentage (bounded so it is never a flat 0 or 100 — deliberately an estimate, not a verdict).
- A confidence level based on the amount and consistency of the available evidence; conflicting evidence lowers it.
- A transparent per-signal breakdown showing what raised and what lowered the score.
- The strongest positive and cautionary reasons.
- Comparable liked and disliked titles.
- A structured evidence brief for further discussion with GPT-5.6.
Cast, writers, language, and plot are fetched and stored to enrich the profile; scoring itself relies on the structured signals above, and plot text is kept for future work rather than used as a scoring input. The result is presented as an explainable starting point—not a guaranteed prediction or a deterministic yes-or-no recommendation.
What was built during OpenAI Build Week
Before Build Week, Cinema Taste was a private local organizer with CSV-backed viewing lists, OMDb lookup, a static taste profile, and basic watchlist scoring. During the submission period, the project was extended into a separate, contest-ready product with:
- A dedicated explainable Likelihood engine, recalibrated against the owner’s own library using leave-one-out testing.
- A transparent “What is this score based on?” signal breakdown under every result, in both Arabic and English.
- A conflict index that detects split-taste profiles and reports genuine uncertainty instead of false confidence.
- OMDb enrichment (cast, writers, language, and full plot) feeding a seven-dimension similarity model.
- Confidence and uncertainty reporting.
- Similar-liked and similar-disliked evidence for every analysis.
- Watchlist ranking unified with the Likelihood engine, plus one-click “add to watchlist” from a Likelihood result.
- A direct Add Title-to-Likelihood metadata handoff.
- A complete bilingual interface with automatic RTL and LTR direction.
- A safe public demo requiring no OMDb or OpenAI API key.
- Automated engine, API, and interface tests.
- English judge documentation and a clearly preserved pre-Build Week baseline.
- Removal of download shortcuts and the VPN prompt from the contest version.
How Codex and GPT-5.6 were used
Codex with GPT-5.6 served as the engineering and reasoning partner during the Build Week submission period. It was used to:
- Analyze the original project and isolate a contest-safe version without altering the private daily-use copy.
- Design and implement the explainable Likelihood engine, and recalibrate its signals with leave-one-out testing on the owner’s real library.
- Add the transparent signal breakdown and the conflict index for honest uncertainty.
- Integrate OMDb enrichment (cast, writers, language, plot) into a seven-dimension similarity model.
- Connect local CSV history, OMDb metadata, server logic, and the user interface.
- Implement the direct metadata handoff between Add Title and Likelihood, and unify watchlist ranking with the Likelihood engine.
- Add uncertainty, confidence, supporting reasons, and comparison references.
- Create structured English and Arabic GPT-5.6 evidence briefs.
- Remove unsafe contest-facing functionality.
- Build automated engine, API, and static-interface tests.
- Perform browser verification and refine the interface for a clear judge-facing experience.
- Produce setup instructions, technical documentation, and a short judge guide. The application itself does not require an OpenAI API key. This is intentional: private viewing records remain local. GPT-5.6 was used through Codex during development and can optionally serve as the discussion layer after the user copies the evidence brief generated by the application.
Privacy and testing
Viewing records remain on the user’s device. The instant no-key demo makes no external request. When the user chooses to perform an OMDb search, only ordinary public movie-metadata parameters are sent to OMDb. The project runs with Python 3.10 or newer and uses only the Python standard library. The repository includes sample records, automated tests, setup instructions, and a short judge guide. The public demo runs on ephemeral sample data; the owner's private viewing records stay on his device.
Try it Now and Taste Your Cinema
Open: Open the live demo → Select Likelihood, then select Instant no-key demo. Expand “What is this score based on?” to see every signal behind the estimate, and switch between العربية and English to see the full bilingual analysis. No OMDb key, OpenAI API key, installation, or private viewing data is required.
Built With
- codex
- css
- gpt-5.6
- html
- javascript
- omdb-api
- python
Log in or sign up for Devpost to join the conversation.