← Back

"What to watch tonight?" — solved.

K-OTT

Cross-OTT Recommendation Engine.
An AI agent pipeline powers personalized recommendations with a triple guardrail across 6 Korean OTT platforms.

Try it ↗ GitHub ↗

At a Glance

6
OTT Platforms
~425
Rows Indexed
10
AI Agents
<1s
First Response

Why K-OTT

Korea's OTT market is fragmented across many platforms. Users juggle multiple subscriptions, each with different content libraries, recommendation algorithms, and UI paradigms. Finding what to watch tonight shouldn't be a 30-minute ordeal.

K-OTT solves this by integrating availability across 6 Korean OTT platforms — Netflix, TVING, Coupang Play, Wavve, Disney+, and Watcha — into a single AI-powered interface. Ask in natural language, and the engine parses your intent (mood, genre, exclusions) to recommend what's actually available right now.

How it works

User Query — IntentParser (OTT/genre/negation extraction)
   — MOOD_TO_GENRES (sentiment — genre mapping)
     — Hybrid Search (PostgreSQL FTS + pgvector RRF)
       — RecommendEngine — Gemini API
         — SSE 5-chunk streaming:
          thought — metadata — message — xai — actions (deep links)

Triple Guardrail

AI Agents (10)

Agent Role Cycle
subscription_optimizer Optimal OTT combo based on viewing patterns Weekly
content_crawler New content collection across 7 platforms Daily
review_analyzer Sentiment analysis + keyword extraction Daily
pipeline_resilience Failure detection — auto-retry — Telegram alert Always-on
youtube_curator Trailer matching for recommended content Daily
recommendation Recommendation orchestration Real-time
youtube_quota_manager YouTube API quota optimization (10K units/day) Always-on
trend_ranker SNS buzz + search volume + TMDB popularity Daily
orchestration Agent execution order coordination Triggered
intent_parser User intent analysis (OTT/genre/negation) Real-time

Tech Stack

FastAPI Next.js Supabase pgvector Gemini AI TMDB API Redis Vercel