Inspiration

I'm 60 years old and I run three YouTube channels. Every time I write a script, I have the same worry: will this line offend someone? Am I stating a folk theory as fact? I'm not a lawyer or a historian, but the moment I publish, the responsibility is mine.

Researching every claim by hand takes hours, and I still miss things. I wanted a second pair of eyes that could check a script the way a careful editor would — but in a minute, not a day.

What it does

You paste a YouTube script (any length, any language). The agent then works in three steps:

  1. Extract the topic — Gemini reads the whole script and identifies what it is actually about, producing a focused search query.
  2. Search real sources — the Parallel Search API retrieves relevant pages: past incidents, official statements, encyclopedic references.
  3. Classify and rewrite — Gemini cross-checks the script against those sources and returns a table with four risk categories (Copyright, Defamation, Religious/Cultural Sensitivity, Factual Errors), each with a risk level, a reason, source links, and alternative wording that keeps the script's original voice.

The alternative wording is the part I care about most. It doesn't just say "this is risky" — it shows you the exact line and a safer version in the same tone, so you can fix it in seconds.

How I built it

  • Backend: Python / FastAPI, using the google-genai SDK for Gemini and the parallel-web SDK for Parallel Search.
  • Model: Gemini 3.6 Flash for both topic extraction and classification, with structured JSON output for the results table.
  • Frontend: a single-page UI that streams the three steps as they complete, so the user sees the agent working.
  • Deployment: containerized with Docker and deployed to Google Cloud Run (asia-northeast1), with Cloud Build triggered automatically from the GitHub repository.
  • Development: built solo in about two days, using Antigravity as my coding assistant.

Challenges I ran into

This was my first time deploying anything to the cloud. In one morning I hit a Developer Connect IAM permission error, an environment variable pasted with its key name included, a fallback model name that didn't exist, and the Gemini free-tier daily quota. Each one had a different error message and a different fix. Reading logs carefully — and not guessing — turned out to be the most important skill.

The other challenge was prompt design: getting Gemini to keep the alternative wording in the character's voice (my scripts are dialogue between two characters) instead of rewriting it in a neutral tone.

Accomplishments that I'm proud of

  • It works on real scripts from my own channel, and it found things I had genuinely missed — for example, that a "sacred mountain" I presented as fact is officially disputed by the shrine itself, and that a direction I stated for a major shrine was geographically wrong.
  • The suggested rewrites preserve the character's tone. A creator can paste them straight back into the script.
  • I started learning AI seriously in March 2026. Six months later, I shipped a working agent on Cloud Run.

What I learned

  • How to chain a reasoning model with a search API so that the model's judgment is grounded in retrieved sources rather than its own memory.
  • Cloud Run, Cloud Build, IAM, and API quotas — from zero.
  • That the most useful output of a risk checker isn't the score; it's the rewrite.

What's next

  • Batch mode for a whole channel's back catalogue.
  • A "sources only" view so creators can read the evidence before deciding.
  • Support for checking thumbnails and titles, not just scripts.
  • A lightweight browser extension that runs inside YouTube Studio.

Built With

Share this project:

Updates

Submission history