Kid gets a web page to search and request videos. I get a Telegram ping with the thumbnail, title, channel, and duration. I tap Approve or Deny. Approved videos play on his tablet automatically.
The trick: block youtube.com at DNS (Pi-hole, AdGuard, etc.) and only allow youtube-nocookie.com embeds. The "suggested videos" overlay at the end of a video? Those links go to blocked youtube.com. Dead end.
- No YouTube API key — uses yt-dlp for search and metadata - Channel allowlisting — trust a channel once, new videos auto-approve - Multi-child profiles — separate PINs, watch history, and time budgets per kid - Category time limits (edu vs fun) with daily budgets - Self-hosted, runs on any Docker box on your LAN - No accounts, no cloud, no phone-home — everything stays on your network
Sharing this in hopes it helps other parents going through the same struggle.
Full disclosure: I'm not a developer. I built this entirely with Claude — described features, Claude wrote the code. Every release went through security and code reviews via Claude before pushing.