🎬 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
- gemini3
- nextjs
- prisma
- shadcn
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.