Inspiration

Casting teams often receive hundreds or thousands of self-tapes for a single role. Reviewing every performance manually, taking notes, comparing candidates, and building a shortlist can take days. We wanted to create a tool that gives casting teams a faster, more consistent first pass while keeping the final creative decision with humans.

What it does

Audition Automater is an AI-assisted casting platform that screens self-tape auditions and creates evidence-based candidate shortlists.

A casting director enters the audition brief, role details, and an optional performance-reference video, then uploads multiple actor videos. Gemini summarizes the reference video once per screening and reuses that performance-direction summary for every actor. It then evaluates each self-tape across emotional authenticity, dialogue delivery, facial expression, body language, character interpretation, and overall fit.

The platform stores results in ClickHouse and returns a persistent Top-5 shortlist with integer scores, concise written evaluations, and performance metrics. It prevents duplicate uploads and completed evaluations, while screening new videos concurrently for faster batch processing.

How we built it

We built the frontend as a polished web dashboard served by FastAPI on Google Cloud Run.

  • Google Cloud Storage stores audition videos in structured folders by audition name and ID.
  • FastAPI performs a batch ClickHouse MCP cache lookup before GCS upload, skipping already completed videos.
  • A Google ADK root agent is invoked through an ADK Runner to summarize references, analyze self-tapes, save evaluations, and retrieve rankings.
  • Gemini on Vertex AI summarizes the optional reference performance once, then returns concise JSON-only evaluations for each actor.
  • New actor videos are processed concurrently with a bounded limit of three parallel workflows by default, configurable from one to five.
  • The official mcp-clickhouse server is actively called at runtime to save evaluation results and retrieve persistent ranked shortlists from ClickHouse Cloud.
  • Cloud Run, VPC/NAT, and a static egress IP provide a deployable architecture with secure ClickHouse connectivity.

Challenges we ran into

One challenge was handling repeated uploads without wasting storage, model inference, or database capacity. We addressed this with deterministic GCS object paths and a pre-upload ClickHouse cache check based on audition ID and filename. Completed retries skip GCS upload, Gemini analysis, and another database write.

Another challenge was keeping rankings persistent when directors upload videos in multiple batches. ClickHouse stores every completed evaluation and returns the latest ranked shortlist for each audition.

We also optimized reference-video handling. Rather than attaching the same reference video to every Gemini evaluation, the system summarizes it once and reuses the resulting creative-direction summary for all candidates in that batch.

Finally, we needed to make the workflow genuinely agentic rather than treating ADK as a passive library. The Google ADK root agent handles reference summarization, audition analysis, ClickHouse persistence, and shortlist retrieval through controlled tools.

Accomplishments that we're proud of

  • Built an end-to-end audition workflow from upload to persistent ranked shortlist.
  • Integrated Gemini, Google ADK, GCS, Cloud Run, ClickHouse Cloud, and the official ClickHouse MCP server.
  • Created structured storage for auditions and optional reference videos.
  • Added duplicate protection across GCS and ClickHouse before expensive processing begins.
  • Reduced repeated reference-video inference by summarizing it once per screening batch.
  • Added bounded concurrent processing for faster multi-video screening.
  • Deployed a working web application on Google Cloud Run.
  • In a small three-audition pilot, achieved 0.991 NDCG@5, 100% Top-1 agreement with human reviewers, 100% Top-3 shortlist overlap, and 90% pairwise ranking agreement.

What we learned

We learned that reliable agentic systems need more than a strong model prompt. They need structured inputs, deterministic storage, runtime tool integration, duplicate handling, latency optimization, clear evaluation metrics, and human oversight.

We also learned that human ranking data is essential for evaluating an AI screening system. Our pilot showed promising alignment, but we recognize that three audition samples are exploratory and not statistically conclusive.

What's next for Audition Automater

  • Evaluate the system on a larger and more diverse reviewer-labeled audition dataset.
  • Add human-review workflows, including reviewer feedback and callback decisions.
  • Improve ranking consistency and score calibration.
  • Add analytics for screening time saved, reviewer agreement, and director acceptance rates.
  • Support larger audition batches with direct-to-GCS signed uploads.
  • Add role-specific evaluation rubrics and richer comparison tools for casting teams.

Built With

  • adk
  • clickhouse
  • gcp
  • gcs
  • mcp
Share this project:

Updates

Submission history