🎬 CleenPlayer — AI-Powered Personal Video Filtering

💡 Inspiration

CleenPlayer was inspired by a long-standing problem for families: enjoying movies together when content isn’t always appropriate for everyone.

In 2016, VidAngel — a popular family movie filtering service — was shut down after a major lawsuit because it filtered copyrighted content it didn’t own. That failure highlighted a key insight: filtering needs to happen on user-owned media, not distributed content.

When Google released Gemini 3 with thought signatures, which allow AI to maintain reasoning context across long and complex inputs like full-length videos, we realized this technology could finally make intelligent, legal, context-aware filtering possible.


🧠 What CleenPlayer Does

CleenPlayer analyzes user-owned video files and identifies potentially unwanted content such as:

  • Profanity
  • Violence
  • Sexual content
  • Intense or disturbing scenes

Instead of relying on simple keyword matching, CleenPlayer uses Gemini 3’s multimodal reasoning to understand context. It explains why content was flagged and generates a timeline that can mute, skip, or blur specific segments during playback based on user preferences.


🛠️ How We Built It

CleenPlayer is built with:

  • Next.js 14 + TypeScript for the frontend and backend
  • Custom video player for real-time filtering
  • Prisma + SQLite for storing analysis results
  • Gemini 3 Flash Preview for video understanding and reasoning

Videos are analyzed once using Gemini 3’s large context window. The AI outputs structured results with timestamps and explanations, which are saved to a database. During playback, CleenPlayer simply follows the precomputed filter timeline — no AI calls are needed in real time.


🚧 Challenges We Faced

Processing Long Videos

Full-length movies can be extremely large and expensive to analyze. We optimized token usage by lowering video resolution during analysis and using Gemini’s file upload API for large files.

Context vs Keywords

Early keyword-based approaches produced false positives (the classic “Scunthorpe problem”). Gemini 3’s contextual reasoning solved this by understanding intent instead of raw words.

Real-Time Performance

Analyzing content during playback was too slow. We solved this by separating analysis (offline) from playback (instant), resulting in smooth, lag-free viewing.


🎓 What We Learned

  • Context-aware AI is essential for content moderation — keywords alone don’t work
  • Thought signatures are powerful for maintaining reasoning across long videos
  • Token optimization matters when working with large multimodal models
  • Transparency builds trust — showing why something was flagged makes users more confident in AI decisions

CleenPlayer gives users control over their own media by combining modern AI reasoning with a legally safe, user-first design.

Built With

Share this project:

Updates