Here is an official description for SceneIQ based on the architecture and features we've been working on:
Inspiration
Reading and analyzing screenplays is a notoriously time-consuming process for producers, directors, and enthusiasts alike. It's easy to miss subtle character arcs, complex scene transitions, or logistical challenges (like excessive night shoots) when sifting through hundreds of pages of text. We were inspired to build a tool that doesn't just "read" a script but truly understands it structurally and narratively. We wanted to create a smart, agentic assistant that can break a movie script down to its atomic elements and empower users to interact with the story from different professional perspectives.
What it does
SceneIQ is an AI-powered screenplay intelligence platform. Users can upload movie scripts (PDF, DOCX, TXT) which the system processes, chunks, and indexes. It automatically extracts key characters, scene headings, and atomic narrative facts (propositions), storing them for rapid semantic search.
Once processed, users can chat with the script through specialized AI agents tailored to different roles:
- Producers: Ask about logistical complexities, locations, and shooting constraints.
- Writers: Brainstorm character arcs, dialogue improvements, and thematic elements.
- Enthusiasts: Dive deep into lore, hidden details, and plot explanations.
It also surfaces proactive "Insights," automatically flagging things like high-complexity scenes or production bottlenecks.
How we built it
We built the backend using FastAPI to handle concurrent uploads and background processing, and Streamlit for a cinematic, responsive frontend UI.
For the AI and data pipeline, we leveraged the Google Cloud ecosystem:
- Gemini 2.5 Flash is used during ingestion to extract atomic facts and a global context summary for each scene.
- Vertex AI Embeddings (
text-embedding-004) generate high-quality vector representations of the script chunks. - BigQuery Vector Store acts as our scalable vector database to perform similarity searches during Retrieval-Augmented Generation (RAG).
- LangChain orchestrates the complex RAG pipelines, ensuring the context fed to the generative models is highly relevant.
- Google OAuth secures the application and user sessions.
Challenges we ran into
One of our biggest hurdles was handling the context windows and rate limits of modern LLMs. Initially, our background ingestion was failing because we were batching too many large chunks of text—along with their global context—into Vertex AI embedding requests, exceeding the 20,000 token limit. We had to carefully tune our batch sizes to respect API quotas.
Furthermore, processing entire scripts sequentially was far too slow. We overcame this by implementing parallel scene parsing and parallel embedding uploads using ThreadPoolExecutor, which drastically reduced our processing time while safely staying within rate limits.
Accomplishments that we're proud of
We are incredibly proud of our Advanced Chunking Strategy. Rather than blindly splitting text by character count, SceneIQ parses the script hierarchically by scenes, extracts specific characters, and enriches every single chunk with a "Global Context" summary. This ensures that even when a tiny piece of dialogue is retrieved by the vector database, the LLM still understands the broader plot, preventing hallucinations and leading to incredibly grounded chat responses.
What we learned
We learned that when building RAG systems for long-form narrative content, metadata is king. Simple vector search isn't enough for a 120-page story; injecting global context and extracting atomic facts upfront significantly improves retrieval quality. We also learned how to balance aggressive parallel processing with strict cloud API rate limits.
What's next for SceneIQ
Moving forward, we want to expand SceneIQ's agentic capabilities. We plan to add:
- Automated Script Coverage: Generating industry-standard coverage reports (logline, synopsis, character breakdowns, and scoring) automatically upon upload.
- Budget Estimations: Having the Producer agent automatically estimate costs based on location mentions, VFX requirements, and cast size.
- External Research Integration: Allowing the agents to search the web to fact-check historical scripts or find real-world references for locations mentioned in the screenplay.
Built With
- bigquery
- fastapi
- fastmcp
- gemini
- google-cloud
- huggingface
- langchain
- oauth
- pandas
- pydantic
- python
- streamlit
- uvicorn
- vertex-ai
Log in or sign up for Devpost to join the conversation.