Find movies that
    match the vibe

    AI-powered recommendations

    Try:

    Sign up free to save your favorites and get personalized picks

    Create Account
    Under the hood

    How it actually works

    Cinebrowse blends a curated TMDB catalog, OpenAI text embeddings, and a Pinecone vector index to find titles that share the same vibe — not just the same genre tag.

    1. 01

      Catalog ingestion

      We sync hundreds of thousands of movies and TV shows from TMDB into Postgres, capturing overview, genres, cast, crew, keywords, release era, and popularity signals.

      TMDB APIPostgresDaily cron
    2. 02

      Embedding generation

      Each title's overview, genres, cast, keywords, and era are composed into a single document and passed through OpenAI's text-embedding-3-small model, producing a 1536-dimensional vector that captures meaning, tone, and theme.

      OpenAItext-embedding-3-small1536-dim
    3. 03

      Vector similarity search

      Vectors live in Pinecone with cosine similarity. When you pick a title, we fetch its embedding and pull the top ~200 nearest neighbors — surfacing titles that 'feel' similar even when keywords don't overlap.

      PineconeCosine similarityTop-K 200
    4. 04

      Re-ranking & explanation

      Candidates are filtered for popularity (≥50 votes), franchise diversity, and your streaming providers. For each pick we extract 2–4 transparent overlap bullets — shared genres, cast, era, or themes — so every recommendation is explainable.

      Diversity filterProvider filterWhy-this-match
      TMDB  ──►  Postgres  ──►  text-embedding-3-small  ──►  Pinecone (1536-d)
                                                                  │
                              your pick ───► query vector ────────┘
                                                                  │
                                                                  ▼
                                                  top-K  ──►  diversity & provider filter
                                                                  │
                                                                  ▼
                                                          ranked recommendations
                                                           + "why this match"