DEV Community

Cover image for How I Built an Autonomous Event Media Director with Google Cloud & GEAP — Solo in 7 Days
Shantanu
Shantanu

Posted on

How I Built an Autonomous Event Media Director with Google Cloud & GEAP — Solo in 7 Days

I created this piece of content for the purposes of entering the All Things Agentic Hackathon (#AllThingsAgenticHackathon).

5,000 Wedding Photos, Five Agents, Zero Chat Windows — and When Coverage Is Missing, the Agents Task the Humans


1. The Friction: The Group Chat Graveyard

Every major event suffers the same failure mode: photos scattered across hundreds of phones, a lossy group chat dump, weeks of "can someone send me that one photo?", and the hosts waiting months for official edits.

More cloud storage never solved this because the bottleneck is direction and routing, not capacity.

At a 500-guest wedding, thousands of photos are captured, yet intimate moments — like the groom's mother during the vows — are often missed entirely because nobody is coordinating 500 amateur photographers.

Showrunner flips the paradigm using the Gemini Enterprise Agent Platform (GEAP): guests scan a QR code, an autonomous agent fleet classifies, protects, and routes media in real time, and when coverage gaps emerge, the control plane issues live photo bounties to guests' phones.


2. Architecture: Data Plane vs. Goal-Driven Control Plane

The architecture splits high-throughput ingestion from goal-seeking reasoning, secured by continuous governance policies.

┌──────────────────────────────────────────────────────────────────────────────────┐
│                             SHOWRUNNER ARCHITECTURE                              │
├─────────────────────────┬──────────────────────────────┬─────────────────────────┤
│    DATA PLANE (Push)    │     CONTROL PLANE (Goal)     │     GOVERNANCE RAIL     │
│                         │                              │                         │
│ Phones ➔ Direct GCS     │ Cloud Scheduler (2-min tick) │ GEAP Model Armor        │
│ ➔ Eventarc Intake      │ ➔ Per-Event Lease Engine    │ • recompute_visibility  │
│ ➔ Cloud Tasks Queues   │ ➔ Story Director (GEAP/ADK) │ • Consent Ring Policy   │
│ ➔ Perception Workers:  │ ➔ Reel Director (GEAP/ADK)   │ • Deny-All Face Vaults  │
│   • Curator (Gemini)   │ ➔ Beat-Snapped Render Engine │                         │
│   • Face (InsightONNX) │                              │                         │
│   • Safety (Guardian)  │                              │                         │
├─────────────────────────┴──────────────────────────────┴─────────────────────────┤
│                        FIRESTORE (System of Record)                              │
│                + GEAP MEMORY BANK (Advisory Narrative Memory)                    │
└──────────────────────────────────────────────────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

The Photo Pipeline — p50 ≈ 5s to Kiosk-Ready

Direct Ingestion:
Client devices upload raw bytes straight to Cloud Storage via signed URLs.

Eventarc & Intake:
GCS object.finalized triggers image processing, EXIF stripping, WebP derivation, and rate-limited Cloud Tasks dispatch.

Perception Workers:

  • Curator Worker (gemini-3.5-flash-lite) — Evaluates aesthetic quality, tags moments, and runs Bayesian stage posterior fusion.
  • Face Worker (InsightFace ONNX) — Extracts 512-d embeddings for VIP cosine matching and cluster indexing.
  • Safety Worker (The Guardian) — Two-tier gate combining Cloud Vision SafeSearch with a Gemini-powered dignity evaluation.

Deterministic Gate:
An atomic recompute_visibility policy evaluates consent rings and aesthetic thresholds before routing to public kiosks or private guest albums.


3. The 2-Minute Director Loop (ADK + gemini-3.7-flash)

Rather than passively waiting for user prompts, the Story Director executes on an autonomous cadence powered by Google's Agent Development Kit (ADK).

1. Settle & Expire

Validates completed photo bounties transactionally and flags timed-out tasks as permanent coverage gaps.

2. Stage Arming

Automatically arms mandatory shot lists when a new event stage begins.

3. Ledger Computation

Computes an O(1) coverage matrix across VIPs and active timeline moments.

4. Reason & Plan

A GEAP LlmAgent using gemini-3.7-flash reasons over the ledger state and returns a structured DirectorPlan.

5. Act

The system enforces hard guardrails — ≤ 2 bounties/tick and point clamping [50, 300] — before pushing live bounty notifications to guest devices.


4. Memory Architecture: GEAP Memory Bank & Isolation

Managing multi-day event state requires strict separation between deterministic transactions and soft context.

System of Record — Firestore

Tracks strict operational state, media records, and a rolling 10-tick history.

Overflow ticks are compacted via deterministic arithmetic string parsing rather than LLM summarization, guaranteeing zero context drift.

GEAP Memory Bank — Long-Term Narrative Memory

Stores advisory narrative context across sessions, such as:

  • Host stylistic preferences: {eventId}:host
  • World context: {eventId}:world
  • Stage diary memos: {eventId}:diary:{stageId}

Memory Bank enriches planning prompts without ever directly gating point payouts or visibility decisions.

Private Biometric Vaults

Face embeddings and private taste profiles reside in isolated subcollections guarded by deny-all security rules.


5. Agent Fleet Breakdown

Component Role Engine Why It's an Agent
Curator Perception gemini-3.5-flash-lite Evaluates emotional/cultural context against dynamic glossaries.
Guardian Governance Vision API + Gemini Makes contextual dignity decisions, e.g. ritual tears vs. distress.
Face Indexer ML Worker InsightFace ONNX Deterministic 512-d embeddings. Strictly an ML worker, not an LLM agent.
Story Director Orchestration gemini-3.7-flash (ADK) Goal-seeking planner operating a closed observe-reason-act loop.
Reel Director Creative Production gemini-3.7-flash + Critic Generates Edit Decision Lists (EDLs) and self-corrects video pacing.

6. Multi-Model Ecosystem

Showrunner leverages specialized Google AI models across the production pipeline:

Lyria 3 — Dynamic Soundtracks

Generates tailored music tracks based on the narrative brief.

librosa extracts downbeat timestamps to snap video cuts to the rhythm.

Veo 3.1 — Cinematic Openers

Synthesizes vertical 9:16 cinematic establishing sequences for recap reels.

Gemma 4 — Private Taste Memos

Runs lightweight inference every 15 interactions to build explainable preference profiles for personalized guest delivery.


Created for the All Things Agentic Hackathon (#AllThingsAgenticHackathon).

Top comments (0)