COMPLETE SYSTEM DESIGN

COHORT ARMOURY SERVICES // AGENTIC PLATFORM
VERSION 1.0 // TECHNICAL SPECIFICATION

SYSTEM OVERVIEW

A fully integrated AI-powered platform comprising 15 specialized agents organized into 3 functional clusters, orchestrated by a single unified command interface.

15
AI Agents
3
Clusters
6+
Data Sources
1
Control Point

LEAD INTELLIGENCE CLUSTER

  • IMDb Pro Production Monitoring
  • Industry News Scanning (Variety, Deadline, Screen Daily)
  • LinkedIn Professional Network Mining
  • Production Weekly Analysis
  • UK Film Commission Tracking
  • Lead Scoring & Prioritization
4 AGENTS

OUTREACH CLUSTER

  • Personalized Email Generation
  • Multi-touch Sequence Management
  • Follow-up Automation
  • Response Tracking & Analysis
  • CRM Integration
  • Relationship Nurturing
3 AGENTS

MARKETING SUITE CLUSTER

  • AI Image Generation from Product Photos
  • Multi-product Scene Compositing
  • Social Media Content Creation
  • Field Content Processing
  • Brand Style Enforcement
  • Automated Posting & Scheduling
8 AGENTS

MASTER ARCHITECTURE

// UNIFIED ORCHESTRATION FLOW //
%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#1a1a25', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#00ffff', 'lineColor': '#ff00ff', 'secondaryColor': '#12121a', 'tertiaryColor': '#0a0a0f', 'textColor': '#ffffff', 'nodeTextColor': '#ffffff' }}}%% flowchart TB subgraph USER["USER INTERFACE"] UI[("Dashboard")] CMD["Command Input"] end subgraph ORCH["UNIFIED ORCHESTRATOR"] MASTER["Master Orchestrator
Agent"] end subgraph LEAD["LEAD INTELLIGENCE CLUSTER"] direction TB LS["Lead Supervisor"] IMDB["IMDb Scanner"] NEWS["News Scanner"] LI["LinkedIn Miner"] SCORER["Lead Scorer"] end subgraph OUT["OUTREACH CLUSTER"] direction TB OS["Outreach Supervisor"] EMAIL["Email Drafter"] SEQ["Sequence Manager"] FOLLOW["Follow-up Agent"] end subgraph MKTG["MARKETING SUITE CLUSTER"] direction TB MS["Marketing Supervisor"] IMG["Image Generator"] CONTENT["Content Creator"] SOCIAL["Social Publisher"] BRAND["Brand Guardian"] FIELD["Field Processor"] SCHED["Scheduler"] ANALYTICS["Analytics Agent"] end subgraph DATA["DATA LAYER"] DB[("PostgreSQL
Database")] ASSETS[("Asset
Storage")] MODELS[("AI Models
LoRA/SDXL")] end UI --> CMD CMD --> MASTER MASTER <--> LS MASTER <--> OS MASTER <--> MS LS --> IMDB LS --> NEWS LS --> LI LS --> SCORER OS --> EMAIL OS --> SEQ OS --> FOLLOW MS --> IMG MS --> CONTENT MS --> SOCIAL MS --> BRAND MS --> FIELD MS --> SCHED MS --> ANALYTICS LEAD --> DB OUT --> DB MKTG --> DB MKTG --> ASSETS IMG --> MODELS style MASTER fill:#ff00ff,stroke:#ff00ff,color:#fff style LS fill:#00ffff,stroke:#00ffff,color:#000 style OS fill:#ff00ff,stroke:#ff00ff,color:#fff style MS fill:#00ff88,stroke:#00ff88,color:#000 style DB fill:#bf5fff,stroke:#bf5fff,color:#fff style ASSETS fill:#bf5fff,stroke:#bf5fff,color:#fff style MODELS fill:#ffff00,stroke:#ffff00,color:#000

CLUSTER 1: LEAD INTELLIGENCE

Automated discovery and qualification of film/TV productions requiring armoury services across multiple industry data sources.

DATA SOURCES

IMDb Pro
// PRIMARY SOURCE
Pre-production tracking
Cast & crew contacts
Production status
Variety
// TRADE NEWS
Project announcements
Studio deals
Greenlight news
Deadline
// TRADE NEWS
Breaking news
Casting updates
Production moves
Screen Daily
// UK/EU FOCUS
UK productions
European projects
Industry trends
LinkedIn
// NETWORKING
Producer connections
Line producer moves
Studio hiring
Production Weekly
// INTEL SERVICE
Pre-production lists
Contact databases
Location schedules
Film Commissions
// REGIONAL
UK filming permits
Location bookings
Regional incentives
Trade Associations
// INDUSTRY
BECTU updates
Guild news
Industry events

LEAD SCORING ALGORITHM

Scoring Formula: 0-100 Points

Each lead is scored based on multiple factors to prioritize outreach efforts.

Factor Weight Criteria Example
Genre Match 25 pts Action, War, Period, Crime, Thriller War film = +25, Romance = +5
UK Location 20 pts Filming in UK or within travel range Pinewood = +20, LA = +0
Budget Tier 15 pts Mid-budget or above preferred £10M+ = +15, <£1M = +5
Timeline 15 pts Pre-production 2-6 months out 3 months = +15, 1 year = +5
Contact Quality 10 pts Direct contact to decision maker Line Producer = +10, IMDb email = +3
Past Relationship 10 pts Previous work or warm intro Past client = +10, Cold = +0
Competition 5 pts Other armourers already attached None known = +5, Competitor = +0

LEAD DISCOVERY FLOW

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#1a1a25', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#00ffff', 'lineColor': '#ff00ff', 'textColor': '#ffffff', 'nodeTextColor': '#ffffff' }}}%% flowchart LR subgraph SOURCES["DATA SOURCES"] S1["IMDb Pro"] S2["News Sites"] S3["LinkedIn"] S4["Prod Weekly"] S5["Film Comms"] end subgraph PROCESS["PROCESSING"] SCAN["Multi-Source
Scanner"] EXTRACT["Data
Extraction"] ENRICH["Contact
Enrichment"] SCORE["Lead
Scoring"] DEDUP["Deduplication"] end subgraph OUTPUT["OUTPUT"] QUEUE["Priority
Queue"] ALERT["High-Score
Alerts"] DB[("Lead
Database")] end S1 --> SCAN S2 --> SCAN S3 --> SCAN S4 --> SCAN S5 --> SCAN SCAN --> EXTRACT --> ENRICH --> SCORE --> DEDUP DEDUP --> QUEUE DEDUP --> ALERT DEDUP --> DB style SCAN fill:#00ffff,stroke:#00ffff,color:#000 style SCORE fill:#00ff88,stroke:#00ff88,color:#000 style ALERT fill:#ff00ff,stroke:#ff00ff,color:#fff style DB fill:#bf5fff,stroke:#bf5fff,color:#fff

CLUSTER AGENTS

LEAD SUPERVISOR
  • Coordinates all lead intelligence agents
  • Manages scanning schedules
  • Handles handoffs to Outreach cluster
  • Maintains data quality standards
IMDb SCANNER
  • Monitors IMDb Pro for new productions
  • Tracks status changes (Development → Pre-prod)
  • Extracts key personnel contacts
  • Identifies genre and location data
NEWS SCANNER
  • Scans Variety, Deadline, Screen Daily
  • Monitors RSS feeds and social
  • Extracts production announcements
  • Cross-references with existing leads
LEAD SCORER
  • Applies scoring algorithm to all leads
  • Updates scores as new data arrives
  • Prioritizes outreach queue
  • Generates high-priority alerts

CLUSTER 2: OUTREACH

Automated, personalized communication with qualified leads through intelligent email sequences and relationship management.

OUTREACH SEQUENCE

LEAD RECEIVED
From Intel Cluster
RESEARCH
Company/Project Analysis
DRAFT EMAIL
Personalized Content
REVIEW
Human Approval
SEND
Tracked Delivery

EMAIL PERSONALIZATION

Personalization Variables

Every email is crafted with production-specific details to maximize response rates.

Dynamic Fields

  • {production_name} - Project title
  • {recipient_name} - Contact name
  • {genre_reference} - Genre-specific experience
  • {similar_work} - Relevant past projects
  • {location_note} - Proximity/logistics

Template Categories

  • Initial outreach (cold/warm intro)
  • Follow-up #1 (value-add content)
  • Follow-up #2 (case study share)
  • Follow-up #3 (availability check)
  • Re-engagement (stale leads)

FOLLOW-UP AUTOMATION

// INTELLIGENT SEQUENCE MANAGEMENT //
%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#1a1a25', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#ff00ff', 'lineColor': '#00ffff', 'textColor': '#ffffff', 'nodeTextColor': '#ffffff' }}}%% flowchart TB START["Initial Email
Sent"] --> WAIT1["Wait 3 Days"] WAIT1 --> CHECK1{Response
Received?} CHECK1 -->|Yes| RESPOND["Human
Handles Reply"] CHECK1 -->|No| FU1["Follow-up #1
Value-Add Content"] FU1 --> WAIT2["Wait 5 Days"] WAIT2 --> CHECK2{Response?} CHECK2 -->|Yes| RESPOND CHECK2 -->|No| FU2["Follow-up #2
Case Study"] FU2 --> WAIT3["Wait 7 Days"] WAIT3 --> CHECK3{Response?} CHECK3 -->|Yes| RESPOND CHECK3 -->|No| FU3["Follow-up #3
Final Check"] FU3 --> WAIT4["Wait 14 Days"] WAIT4 --> CHECK4{Response?} CHECK4 -->|Yes| RESPOND CHECK4 -->|No| NURTURE["Move to
Nurture List"] RESPOND --> CRM["Update CRM
Status"] NURTURE --> REQUEUE["Re-engage in
3 Months"] style START fill:#ff00ff,stroke:#ff00ff,color:#fff style RESPOND fill:#00ff88,stroke:#00ff88,color:#000 style NURTURE fill:#ffff00,stroke:#ffff00,color:#000 style CRM fill:#bf5fff,stroke:#bf5fff,color:#fff

CLUSTER AGENTS

OUTREACH SUPERVISOR
  • Coordinates email campaigns
  • Manages agent handoffs
  • Tracks overall pipeline
  • Reports to Orchestrator
EMAIL DRAFTER
  • Generates personalized emails
  • Applies brand voice
  • Uses production research
  • A/B tests subject lines
SEQUENCE MANAGER
  • Schedules follow-ups
  • Tracks open/click rates
  • Adjusts timing
  • Manages nurture lists

CLUSTER 3: MARKETING SUITE

AI-powered content generation and social media management, transforming product photography into engaging marketing materials using custom-trained image generation models.

AI IMAGE GENERATION PIPELINE

Technology Stack

Stable Diffusion XL with custom LoRA fine-tuning trained on Cohort's product catalogue and brand aesthetic.

WHITE BG PHOTO
Product catalogue shot
REMBG/SAM
Background removal
LoRA MODEL
Brand-trained SDXL
CONTROLNET
Product placement
STYLED IMAGE
Marketing-ready
// MULTI-PRODUCT COMPOSITING //
%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#1a1a25', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#00ff88', 'lineColor': '#ff00ff', 'textColor': '#ffffff', 'nodeTextColor': '#ffffff' }}}%% flowchart LR subgraph INPUT["INPUT PRODUCTS"] P1["Product A
(white bg)"] P2["Product B
(white bg)"] P3["Product C
(white bg)"] end subgraph PROCESS["AI PROCESSING"] SEGMENT["Segment
Each Item"] COMPOSE["Scene
Composition"] STYLE["Brand Style
Transfer"] LIGHT["Lighting
Harmonization"] end subgraph OUTPUT["OUTPUT"] SCENE["Cohesive
Marketing Scene"] VARIATIONS["Style
Variations"] end P1 --> SEGMENT P2 --> SEGMENT P3 --> SEGMENT SEGMENT --> COMPOSE --> STYLE --> LIGHT LIGHT --> SCENE LIGHT --> VARIATIONS style SEGMENT fill:#00ff88,stroke:#00ff88,color:#000 style STYLE fill:#ff00ff,stroke:#ff00ff,color:#fff style SCENE fill:#bf5fff,stroke:#bf5fff,color:#fff

FIELD CONTENT PIPELINE

Armourer Content Collection

8-15 armourers capture BTS content during downtime on set. Simple upload via web form, shared folder, or email.

Upload Methods

  • Web form with metadata fields
  • Shared folder (Google Drive/Dropbox)
  • Email to dedicated address
  • Automatic file detection

Content Processing

  • Auto-tagging with AI vision
  • Face/sensitive content detection
  • Production association
  • Approval routing

CONTENT APPROVAL WORKFLOW

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#1a1a25', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#00ff88', 'lineColor': '#ff00ff', 'textColor': '#ffffff', 'nodeTextColor': '#ffffff' }}}%% flowchart TB CONTENT["New Content"] --> CLASSIFY{Content
Type?} CLASSIFY -->|Product Shot| AUTO["Auto-Approve
Queue"] CLASSIFY -->|BTS Content| REVIEW["Human Review
Required"] CLASSIFY -->|Active Production| HOLD["Hold for
Production Wrap"] AUTO --> SCHEDULE["Schedule
for Posting"] REVIEW --> APPROVE{Approved?} APPROVE -->|Yes| SCHEDULE APPROVE -->|No| ARCHIVE["Archive
(Not for Use)"] HOLD --> NOTIFY["Notify on
Wrap Date"] NOTIFY --> REVIEW SCHEDULE --> POST["Auto-Post
to Platforms"] POST --> TRACK["Track
Engagement"] style AUTO fill:#00ff88,stroke:#00ff88,color:#000 style REVIEW fill:#ffff00,stroke:#ffff00,color:#000 style HOLD fill:#ff8800,stroke:#ff8800,color:#000 style POST fill:#ff00ff,stroke:#ff00ff,color:#fff

MARKETING AGENTS

MARKETING SUPERVISOR

Coordinates all marketing activities

IMAGE GENERATOR

AI image creation from products

CONTENT CREATOR

Writes captions and copy

SOCIAL PUBLISHER

Posts to all platforms

BRAND GUARDIAN

Enforces style guidelines

FIELD PROCESSOR

Handles armourer uploads

SCHEDULER

Optimal posting times

ANALYTICS AGENT

Tracks performance

DATABASE SCHEMA

PostgreSQL database with optimized tables for lead tracking, content management, and analytics.

// ENTITY RELATIONSHIP DIAGRAM //
%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#1a1a25', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#bf5fff', 'lineColor': '#ff00ff', 'textColor': '#ffffff', 'nodeTextColor': '#ffffff' }}}%% erDiagram PRODUCTIONS ||--o{ CONTACTS : has PRODUCTIONS ||--o{ OUTREACH : receives PRODUCTIONS ||--o{ LEAD_SCORES : scored CONTACTS ||--o{ OUTREACH : receives CONTACTS }o--|| COMPANIES : works_for ASSETS ||--o{ AI_GENERATIONS : sources ASSETS }o--|| PRODUCTIONS : from_set AI_GENERATIONS ||--o{ CONTENT_POSTS : uses PRODUCTIONS { uuid id PK string title string imdb_id enum status string genre string location date start_date decimal budget timestamp updated } CONTACTS { uuid id PK string name string email string role uuid company_id FK string linkedin timestamp last_contact } COMPANIES { uuid id PK string name string type string website jsonb metadata } OUTREACH { uuid id PK uuid production_id FK uuid contact_id FK enum status string subject text body int sequence_num timestamp sent_at boolean opened boolean replied } ASSETS { uuid id PK string filename enum type string storage_url uuid production_id FK jsonb metadata boolean approved timestamp uploaded } AI_GENERATIONS { uuid id PK uuid source_asset FK string model_used text prompt string output_url float quality_score timestamp generated } CONTENT_POSTS { uuid id PK uuid asset_id FK enum platform text caption timestamp scheduled timestamp posted jsonb engagement } LEAD_SCORES { uuid id PK uuid production_id FK int score jsonb factors timestamp calculated }

CORE TABLES

productions // LEAD INTEL
idUUID
titleVARCHAR(255)
imdb_idVARCHAR(20)
statusENUM
genreVARCHAR(100)
uk_locationBOOLEAN
estimated_budgetDECIMAL
start_dateDATE
outreach_emails // OUTREACH
idUUID
production_idUUID
contact_idUUID
sequence_numberINTEGER
subjectVARCHAR(200)
bodyTEXT
sent_atTIMESTAMP
openedBOOLEAN
assets // MARKETING
idUUID
typeENUM (product, bts, ai_gen)
storage_urlTEXT
production_idUUID (nullable)
uploaded_byVARCHAR(100)
approvedBOOLEAN
metadataJSONB
ai_generations // IMAGE GEN
idUUID
source_asset_idUUID
modelVARCHAR(50)
promptTEXT
output_urlTEXT
quality_scoreFLOAT
generated_atTIMESTAMP

INTEGRATION POINTS

External APIs

  • IMDb Pro API (lead data)
  • LinkedIn API (networking)
  • Gmail/Outlook API (email)
  • Replicate/HuggingFace (AI models)
  • Social media APIs (posting)

Cloud Infrastructure

  • PostgreSQL (Supabase/Railway)
  • Asset storage (S3/Cloudflare R2)
  • GPU compute (RunPod/Lambda)
  • Queue system (Redis)
  • Webhook handlers

AutoGen Framework

  • SelectorGroupChat (orchestration)
  • Swarm pattern (clusters)
  • Tool definitions (per agent)
  • Handoff protocols
  • Memory persistence