Reel Faves:
Personalized Movie Discovery

IdeaArchitectureAILaunched
Reel Faves discovery grid showing trending movies and shows
lightbulbIdea

The Discovery Problem

Streaming killed the video store but created a new problem. Thousands of options across Netflix, Hulu, Max, Disney+, Apple TV — and no way to find what you'd actually enjoy. Every platform recommends what keeps you on their platform, not what you'd genuinely love.

I wanted to build a discovery experience that worked across all of them. One place to browse, search, save favorites, and get recommendations based on your actual taste — not what an algorithm wants you to watch next because they paid for the license.

The product vision was straightforward: you tell us what you love, and we tell you what you'll love next — with a clear explanation of why.

Reel Faves discovery grid with trending movies

The discovery grid pulls trending and top-rated content from TMDB, presented in a dark, immersive layout designed for browsing.

account_treeArchitecture

Four APIs. One Data Model.

The core architectural challenge was that no single data source had everything. TMDB had the best metadata — titles, genres, ratings, release dates, poster art. YouTube had trailers and featurettes. OpenAI could analyze taste patterns and generate recommendations. Firebase handled user accounts and persistent data.

Each API returns data in a different format, has different rate limits, and fails differently. The architectural decision that made everything else possible was building a normalization layer between the APIs and the frontend. Every piece of data gets transformed into a single, consistent schema before it reaches a React component. The frontend never knows which API the data came from — it just consumes a clean, unified model.

This meant the frontend code stays simple. No provider-specific parsing logic scattered across components. No conditional rendering based on which API responded. One data shape, everywhere.

Data Flow Architecture

4-API Orchestration
TMDB
Metadata + imagery
YouTube
Trailers + featurettes
OpenAI
Recommendations
Firebase
Users + persistence
arrow_downward
Normalization Layer
Transforms all provider data into a single, consistent schema
arrow_downward
Next.js Frontend
Unified data model — components never touch provider-specific data

Four APIs, one normalization layer, one data model. The frontend never touches provider-specific data.

Lord of the Rings movie detail page showing TMDB metadata and YouTube trailers

Movie detail pages combine TMDB metadata (ratings, genres, runtime) with YouTube video content (trailers, featurettes) in a single view. The user sees one experience; the architecture manages two API integrations behind it.

psychologyAI

Recommendations that Explain Themselves

Most recommendation engines are black boxes. They tell you what to watch but not why. That makes them easy to ignore — if you don't understand the reasoning, you don't trust the suggestion.

Reel Faves takes a different approach. When a user builds a favorites list, the system analyzes the full collection through OpenAI — not just matching genres, but identifying patterns across themes, narrative structure, tone, and era. Each recommendation comes back with three pieces of information: the title, a match score, and a reasoning paragraph that explains specifically why this film connects to something the user already loves.

That transparency changes user behavior. When someone reads why a recommendation was made, they're more likely to try it. And when the reasoning is good, they trust the system to surface films they'd never have found on their own.

AI recommendations showing match scores and reasoning for each suggestion

Each recommendation shows which favorite it's similar to, a match score, and a reasoning paragraph explaining the connection. The AI's thinking is visible, not hidden.

psychology

Pattern analysis

OpenAI analyzes the full favorites collection — not individual films in isolation. Recommendations emerge from the relationships between favorites, not from genre matching alone.

refresh

Living recommendations

Recommendations regenerate as the favorites list evolves. Add a new film and the entire analysis updates — new patterns, new suggestions, new reasoning.

rocket_launchLaunched

The Complete Experience

Reel Faves shipped as a full product — not a prototype, not a demo. Users create an account, browse trending and top-rated content across film and television, search TMDB's full catalog, save favorites, watch trailers and featurettes inline, and receive AI-powered recommendations that explain their reasoning.

The product runs on Next.js with server-side rendering for fast initial loads. Tailwind CSS handles the dark, immersive visual design. React Context manages global state for user data, favorites, and recommendations. Firebase handles authentication and persistent storage. Every page is responsive across desktop and mobile.

Reel Faves watchlist showing user favorites collection

The favorites list — every film here feeds the recommendation engine.

The Agency show detail page with metadata and video content

Show detail pages pull metadata, episode information, and video content into a single view.

What Shipped

4
APIs Orchestrated
< 1.5s
Avg Page Load (SSR)
Full
Product Shipped

Auth, search, favorites, recommendations, detail pages, embedded video, responsive design — a complete product, not a prototype.

Ready to Build Your AI Vision?

A 30-minute conversation will tell us both whether this is the right fit. No pitch — just an honest look at where you are and what would actually help.

Book a Free Consultation

Not ready for a call? Follow along for AI architecture insights.

LinkedIn