Notice: _filter_block_template_part_area(): "sidebar" is not a supported wp_template_part area value and has been added as "uncategorized". in /home/ntsnews/public_html/wp-includes/functions.php on line 6131

Notice: _filter_block_template_part_area(): "sidebar" is not a supported wp_template_part area value and has been added as "uncategorized". in /home/ntsnews/public_html/wp-includes/functions.php on line 6131
Show HN: BrainRotGuard – Self-Hosted YouTube for kids, ... - NTS News

Show HN: BrainRotGuard – Self-Hosted YouTube for kids, …

Article URL: https://github.com/GHJJ123/brainrotguard Comments URL: https://news.ycombinator.com/item?id=47136111 Points: 1 # Comments: 1

YouTube approval system for kids. Your child searches for videos on a tablet. You approve or deny from your phone via Telegram. BrainRotGuard puts you in control of what your kids watch on YouTube — without standing over their shoulder. Your child gets a simple web page on their tablet where they can search YouTube and request videos. Every request sends you a Telegram message with the video thumbnail, title, channel, and duration.

You tap Approve or Deny right in the chat. If approved, the video starts playing on their tablet automatically. No YouTube account needed. No ads. No algorithmic rabbit holes. No "up next" autoplay. Important: For this to actually work, you need to block YouTube at the DNS level on your kid's devices. Without that, there's nothing stopping them from just opening youtube.com or the YouTube app directly.

The DNS block takes 5 minutes to set up and closes that gap completely — even the "suggested videos" that appear at the end of an embedded video won't load, because those links point to youtube.com which is blocked. Network requirement: BrainRotGuard only works when your child's device is connected to your home network — that's where the DNS blocking and the web UI live. If you want this to work outside your home, you'd need to set up a VPN (e.g., Tailscale, WireGuard) so the device tunnels back through your home network.

If your child's device has mobile data, they can bypass your home DNS entirely — solving that is outside the scope of this project. The good news: you can approve or deny videos and manage channels from anywhere using the Telegram app on your phone. You don't need to be home for that part. I'm a father of a preteen son. I didn't want to block YouTube completely — YouTube is genuinely how I learn things myself, and I wanted my son to have that same ability to research topics, explore educational content, and develop the problem-solving habit of "let me figure this out." That's a skill I want him to have.

The problem was his feed. It was overrun with gamers screaming into microphones and brainrot content. I'd tell him to change the channel every time I walked by and heard one of those obnoxious gaming videos. He'd switch, but YouTube's algorithm would pull him right back within minutes. The algorithm is designed to keep kids glued — and it's very good at its job. Every parental control I tried was either too restrictive (block YouTube entirely) or too permissive (YouTube Kids still recommends garbage).

I needed the middle ground: let him explore and search freely, but give me the final say on what actually plays. I'm not a developer — just a dad who wanted to protect his kid from YouTube's brainrot algorithms. I am a homelab enthusiast though, so I'm comfortable tinkering with self-hosted tools. I built this entirely with Claude (Anthropic's AI) — I described what I wanted, Claude wrote the code.

Every release went through security reviews and code reviews via Claude before I pushed it. BrainRotGuard removes the algorithm entirely. There's no autoplay, no "up next" sidebar, no recommendation engine pulling him deeper. He searches for what he wants, I approve or deny, and the video plays and stops. Done. No rabbit holes. Don't want them watching gaming content? Block those channels. Tired of a specific creator?

One tap. You can allow the channels you trust (educational, science, building, nature) and block the ones you don't — and it sticks. He picks what to ask for, I have the final say. Now I curate his content and I can see the difference. He's not parroting gamer lingo back at me anymore. The stuff he watches is actually interesting — things he's curious about, things he's learning from. I pair this with Google Family Link on his device for general screen time, but BrainRotGuard is what controls YouTube specifically: daily time limits, scheduled access windows, and per-channel approval.

Family Link says "the tablet turns off at 8pm." BrainRotGuard says "you can watch 2 hours of entertainment YouTube today, but educational content is unlimited — and only from channels I've approved." Minimum skill level: You should be comfortable copy-pasting commands into a terminal. If you've never opened a terminal before, an AI assistant (like ChatGPT, Claude, or Gemini) can walk you through each step — just share this README with it.

Why Telegram? It was the easiest way to build instant notifications with approve/deny buttons that work from your phone. No custom app to develop, no push notification infrastructure to maintain — Telegram handles all of that. A note on Telegram safety: Telegram is a public messaging platform with millions of users, and like any open platform, it has scammers and spam. Protect yourself: don't use your real name as your Telegram display name, don't respond to unsolicited messages from strangers, and never share personal or financial information in Telegram chats you didn't initiate.

BrainRotGuard only needs Telegram for the parent-to-bot communication — your child never needs a Telegram account. By using Telegram with this project, you acknowledge that you understand the risks of the platform and that the author of BrainRotGuard is not responsible for any interactions or incidents that occur on Telegram outside of this application. Without this step, your kid can just open youtube.com in a browser or use the YouTube app and bypass BrainRotGuard entirely.

DNS-level blocking prevents that — it makes YouTube unreachable on their devices while keeping BrainRotGuard's embedded playback working. Add the block domains to your blocklist and the allow domains to your allowlist. Same domains, just entered through the Pi-hole admin UI. Any DNS filtering tool that lets you block/allow specific domains will work — pfBlockerNG, NextDNS, router-level parental controls, etc.

If you don't want to build from source, you can pull the pre-built image from GitHub Container Registry. It supports both amd64 and arm64 (Raspberry Pi, Unraid, etc.). If you'd rather run it directly with Python (e.g., on a Raspberry Pi without Docker): To keep it running in the background, use screen, tmux, or set up a systemd service.

Summary

This report covers the latest developments in iphone. The information presented highlights key changes and updates that are relevant to those following this topic.


Original Source: Github.com | Author: hax0rsJJ | Published: February 24, 2026, 12:07 pm

Leave a Reply