Inspiration

Endless scrolling on Fire TV causes decision paralysis—users often spend 20 minutes looking for something to watch instead of actually watching. We built CineMatch to turn couch-scrolling into an interactive 45-second guessing game tailored specifically for TV remotes.

What it does

CineMatch asks up to 7 simple binary questions using 5-way Fire TV remote controls. With every answer, the engine bisects the movie catalog using information gain until it finds the top match. The final result screen displays match traits, ratings, an inline YouTube trailer preview, and a direct 1-click launch into Amazon Prime Video.

How we built it

  • 10-Foot Leanback UI: Built with HTML5, CSS3, and JavaScript featuring overscan safe zones, high-contrast glowing focus rings, and procedural audio feedback via the Web Audio API.
  • Information Entropy Engine: Uses Shannon Entropy to select the question that splits the remaining candidate pool closest to a 50/50 ratio: $$H(f) = -p_{\text{yes}} \log_2(p_{\text{yes}}) - p_{\text{no}} \log_2(p_{\text{no}})$$
  • Backend & Data Pipeline: Python FastAPI backend backed by TMDB metadata scraping, feature tag matrix extraction, and pre-generated natural language questions.
  • Fire TV Remote Integration: Custom spatial navigation mapping Left = YES, Right = NO, Down = SKIP, and Up = UNDO.

Challenges we ran into

Ensuring zero input latency on TV hardware. To guarantee sub-millisecond recalculations between questions, we compiled the decision matrix into client-side JavaScript alongside our Python FastAPI backend.

What's next for CineMatch

Adding Bayesian soft-scoring for 5-point responses ("Probably", "Unlikely") and a multi-user "Couch Mode" for couples deciding on a movie together.

Built With

Share this project:

Updates