Skip to content

Repository files navigation

Prism

Agentic creative-agency tooling for YouTube. Prism turns static brand assets into platform-ready video variants (16:9 + 9:16 Shorts), localized, brand-compliance-checked, and ready to push to Google Ads — designed so a single Client Service Director can run an end-to-end creative workflow that previously needed a full agency team.

GCP-native. YouTube-first. Benelux mid-market focus for the MVP.

Status (2026-05-01 — MVP closed): 10 Cloud Run services + 1 Next.js cockpit + 1 Composer DAG live in iamagency (europe-west4). Strict /healthz bootstrap probe enforced on every revision. 4-section information architecture (Setup · Create · Recut · Distribute). 943 frontend tests passing; 146 backend tests passing across brand-kit + shared/audit.

What's inside

Layer What it does
Web cockpit (apps/web/) Next.js 14 operator UI — Flight Deck, Brand Kit, Brief, Review gallery, Launch confirm, Insights Signal Wall, Client Settings.
Services (services/) 9 FastAPI surfaces + shared foundations covering brand-kit extraction, onboarding (per-client OAuth), generation (Veo 3 + Imagen 3), reframe (9:16 via vigenair + FFmpeg), dub (Ariel + Chirp 3 HD — no voice cloning), compliance judging, Google Ads push (always PAUSED) + YouTube upload (UNLISTED), and insights.
Ingestion (ingestion/) Composer DAGs + dbt mart (fact_creative_performance) with synthetic backfill loader.
Infra (infra/) Terraform for the GCP project (europe-west4).
Forks (forks/) Vendored OSS submodules: ariel, vigenair, dreamboard, copycat.

Services on main

Service Directory Purpose
Shared foundations services/_shared/ Audit logging (wrap()), shared contract (JobState, register_service, strict /healthz), meta.
Brand Kit services/brand_kit/ Gemini-based brand-asset extraction from PDFs OR website URL distillation (v1.2).
Onboarding Wizard services/onboarding_wizard/ Per-client OAuth + prechecks + linked client doc. Skip-OAuth path lets a client onboard without Google linkage.
Generate services/generate/ Veo 3 + Imagen 3 variant rendering (16:9). Cost-cap pre-projected before any provider call.
Reframe services/reframe/ 9:16 Smart-Reframe via vigenair + FFmpeg worker.
FFmpeg worker services/ffmpeg_worker/ Internal Cloud Run worker — pixel ops + keyframe extraction. Invoker-locked to reframe + judge.
Dub services/dub/ Ariel-powered translation + Chirp 3 HD dubbing. No voice cloning in MVP.
Judge services/judge/ Compliance scoring (Gemini-as-judge) — binary pass/fail; never a third state.
Ads services/ads/ Google Ads campaign push (always PAUSED) + UNLISTED YouTube upload.
Insights services/insights/ VTR signals, creative DNA, prompt hint generation. Cost rollup view + 7d-trailing VTR mart + brand-color segmentation.
Ingestion ingestion/ Composer DAGs + dbt mart (fact_creative_performance) + synthetic backfill loader.

Frontend

apps/web/ is the operator cockpit. Kanso Industrial Agency aesthetic: industrial restraint, no yellow/amber on compliance surfaces, binary pass/fail. Surfaces:

  • Agency Flight Deck (cockpit / dashboard).
  • Brand Kit (PDF upload + URL distill + describe-from-prose).
  • Brief form with cost-cap + budget tier.
  • Review gallery — keyboard nav (j/k/a/r), hover preview, structured toast errors, compliance binary (no third color).
  • Launch confirm modal — explicit PAUSED-state acknowledgement before pushing to Google Ads.
  • Insights signal wall — hint cards from real or synthetic-backfilled rows.
  • Client settings — modify display fields; revoke (soft-delete) with type-the-name safety modal; restore.

Picking up cold

If you've never seen this repo before, read in order:

  1. FOR_AGENTS.md — locked MVP decisions, audit contract, what NOT to do.
  2. docs/NEXT.md — cold-start handoff: where we are, what's next, deferred items.
  3. docs/ops/install/README.md — installer state map (steps 01-06 + smokes 10-19).
  4. docs/ops/install/INSTALL_COPILOT_PROMPT.md — paste into a Gemini 2.5 Pro chat to get a step-by-step install copilot.
  5. docs/specs/ — binding service specs (12 files, one per surface).

Quick start

# Clone + submodules (forks/ariel + forks/vigenair are required for dub + reframe builds)
git clone <url>
cd IAMAGENCY
git submodule update --init --recursive forks/ariel forks/vigenair

# Pre-flight check (51 tooling/auth/project/repo checks)
bash scripts/preflight.sh

# Frontend dev server (against live Cloud Run backends, see docs/ops/reference/local-dev.md)
cd apps/web && npm install && npm run dev

# Run tests
make test-all

# Deploy a single service (build + push + roll Cloud Run + post-deploy probe)
bash scripts/deploy.sh <service-name>

# Deploy everything
bash scripts/deploy.sh

# Verify the whole fleet is Ready
bash scripts/verify-deploy.sh

Delivery model

Built by a multi-agent workflow: a Lead Architect dispatches specialist subagents into git worktrees; a Verifier agent reviews every PR; humans gate at module boundaries. Locked contracts in FOR_AGENTS.md.

Repo layout

apps/web/               Next.js 14 cockpit (Operator Command Bar, Flight Deck,
                        Material Board, Brief, Contact Sheet, Launch Gate,
                        Signal Wall, Client Settings).
docs/
  archive/              Historical context — shipped or superseded; do not follow.
  ops/install/          The install runbook (16 step + smoke files + a Gemini
                        copilot prompt).
  ops/reference/        Env-var contracts + GCP project bootstrap + local dev.
  specs/                Binding service specifications (one per service).
  NEXT.md               Cold-start handoff for the next session.
forks/                  Vendored OSS submodules: ariel, vigenair, copycat,
                        dreamboard.
ingestion/              Composer DAGs + dbt mart for creative performance.
infra/                  Terraform (GCP iamagency, europe-west4).
scripts/                preflight.sh, deploy.sh, verify-deploy.sh,
                        load_synthetic_backfill.py.
services/               9 Prism-owned FastAPI services + _shared foundations.
tests/                  Per-service test suites (run via Makefile targets).

License + ownership

Internal — IAMAGENCY MCC tooling. Not currently distributed externally.

About

Prism — agentic creative-agency tooling for YouTube. GCP-native multi-service stack that turns static brand assets into platform-ready 16:9 + 9:16 video variants, brand-compliance-checked and ready to push to Google Ads.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages