Inspiration

Clearing legal rights for a film is expensive and requires a lot of reading. Someone has to scan a script to find every song, brand, artwork, location and real person. Then they have to figure out if each item needs a license. Missing just one can halt a movie's release. We quickly realized a simple keyword scanner does not work. If a script says a song is playing on a radio, you need a costly license. If a character just talks about the song in dialogue, you do not. The context is everything.

What it does

Our AI tool reads the script like a human and understands the layout automatically. It spots every real world reference and groups duplicates together. Then it searches the web up to six times for each item to gather facts. Finally, it grades every mention as red, amber or green based strictly on how it is used in the scene. You get a clean PDF report showing the required rights, the owners, the sources it read and the searches it ran.

How we built it

We built the backend with FastAPI and Postgres inside Docker. The frontend runs on Next.js. We use Google ADK to run our agents. Gemini Flash spots the references and Gemini Pro grades the risks. To save time and money, our research stays in a shared cache. We also completely separated the research step from the judgment step. The web search tool only looks up facts so it stays totally objective.

Challenges we ran into

Challenges we ran into • Silent failures: Our test runs kept freezing at the final step. We blamed the AI but we actually had our error logs turned off. A simple time zone mix up in our code was quietly crashing the entire system right at the finish line. • Deleted warnings: A tiny connection error caused ten items to lose their risk ratings. Worse, the system still called the run a success. We added a smart retry system and changed our rules so a run only passes if every single item gets a full rating. • Database jams: Our research step runs six web searches at once. Sending them all through one database connection caused crashes so we had to give each search its own dedicated lane.

Accomplishments that we're proud of

We built a tool that actually understands the difference between showing a brand on camera and just talking about it in dialogue. On our test script it successfully found and graded 23 different mentions across 11 items in about three minutes. It successfully does the heavy lifting of reading and looking things up so a human expert can jump straight to reviewing the final report.

What we learned

We learned that most of our bugs were exactly the same issue. The information existed but our own system threw it away before we could see it. We also learned that a test that never fails is completely useless. We now intentionally break our code just to make sure our alarms actually go off. Finally we used color contrast math to find the perfect shades for our warning colors so they are perfectly readable on both a dark screen and a printed white paper report.

What's next for Script to Clearance

• Adding live status updates so you can watch the progress without refreshing the page. • Building a bulk upload feature for entire stacks of scripts. • Creating special warning flags for tricky edge cases where a human definitely needs to double check the results.

Built With

Share this project:

Updates

Submission history