Inspiration
Before a studio or a streamer says yes to a film, someone spends days on the same grind: pull comparable titles, dig up budgets and grosses, read the trades for genre trends, size the audience, band a budget, and write the memo for the greenlight committee. Almost all of it is web research plus structured reasoning, which is exactly what a tool-calling agent is good at. We wanted the result to be something a room of executives would actually watch, so the agent ends by rendering a pitch video from its own findings.
What it does
Type a one-sentence pitch (a logline). Greenlight runs a team of three agents built with Google's Agent Development Kit on Gemini:
- Researcher (Scout) calls the Parallel Search API four to six times with distinct objectives: comparable films with budgets and worldwide grosses (aimed at Box Office Mojo / The Numbers), streaming comps (aimed at the trades), the genre trend, the audience, and competing projects in development. It writes cited research notes and never invents a figure; missing numbers say "n/a".
- Analyst turns the notes into strict JSON: 4-6 comps with source URLs, three headline stats, a risk register with severity, a budget band, and a GREENLIGHT / DEVELOP / PASS verdict with confidence.
- Writer (Producer) writes the one-page studio memo and the poster art direction. A Gemini image model on Vertex AI paints the teaser key art.
Everything streams live to the browser: which agent is working, every Parallel search with its queries and hit count, the researcher's notes as they are written. Then Remotion renders a 30-second pitch reel from the agent's JSON (title over the poster, the logline, an animated comps chart, market stats, risks, budget band, verdict stamp), playable in the page and downloadable as a real MP4 rendered on Cloud Run. The memo, the comps table, the research notes and every source are one click away. The UI is written for non-technical users, with a "How it works" guide in the corner.
Live: https://greenlight-206266360535.us-central1.run.app
How we built it
- Google ADK (TypeScript): three
LlmAgents composed in aSequentialAgent, run byInMemoryRunnerin SSE streaming mode; agents hand off through session state viaoutputKey; structured outputs via Zod schemas passed asoutputSchema. - Gemini (
gemini-2.5-flash) for all reasoning;gemini-2.5-flash-imageon Vertex AI for the poster, via@google/genai. - Parallel Search API through the official
parallel-webSDK, wrapped as an ADKFunctionToolwith adomain_focusargument that maps tosource_policy.include_domains, so the agent can aim at box-office databases or the trade press. - Remotion for the reel:
@remotion/playerin the browser,@remotion/rendererserver-side with a prebuilt bundle and headless Chrome inside the Cloud Run image. - Next.js 16 app with a streaming API route, deployed to Google Cloud Run (Secret Manager for the Parallel key, service-account auth to Vertex AI, scales to zero).
Challenges we ran into
- Getting a tool-calling agent to produce numbers with sources rather than vibes. Domain-focused searches plus an explicit "never invent figures, write n/a" contract fixed it.
- The free-tier Gemini API key cannot generate images and Imagen 4 was not available in the project, so the poster moved to Gemini's image model on Vertex AI. Vertex's prompt filter also blocked the phrase "no watermark"; trimming the negative prompt solved it.
- Rendering video on Cloud Run: Next.js standalone output strips the files Remotion needs, so the image ships the full app plus a prebuilt Remotion bundle and Chrome, and renders one job at a time per instance.
- New Google Cloud projects do not give Cloud Build's default service account storage rights; the deploy script now grants them.
Accomplishments that we're proud of
A complete product, not a demo: real research with citations, a verdict an executive can argue with, a memo, and a downloadable video, in about 90 seconds and for a few cents a run. Non-programmers can use it without explanation.
What we learned
ADK's session-state hand-off makes a deterministic multi-agent pipeline easy to reason about and debug. Parallel's excerpt-first results are exactly the shape an LLM tool call wants: compact, cited, current.
What's next for Greenlight
Parallel Task API deep-research mode for franchise-level packages, live box-office feeds for the comps chart, shareable links per package, and a studio-slate view that ranks many loglines against each other.
Built With
- gemini
- google-adk
- google-cloud-run
- google-secret-manager
- next.js
- parallel-search-api
- react
- remotion
- tailwind
- typescript
- vertex-ai
- zod
Log in or sign up for Devpost to join the conversation.