Studio Online Audit: May 15, 2026 14 MODELS WIRED 9 MODES 11 PLATFORMS DEXIE READY
DDS Vibe Academy / Flagship Apps Portfolio / Case Study 02

The Synthetic Director.
AGI-CORE-Pro V1.0. A desktop production OS.

One founder. 78 source files. 13,295 lines of code. 14 AI models wired into a single React 19 application across 6 image tiers, 3 video tiers, 3 text fallback tiers, plus dedicated reasoning and TTS. Nine operator-selected studio modes. Eleven social platforms. Seventeen prompt functions. One hundred seventy-five subject contexts. Seventy-seven background scenes. Six production dependencies. Zero backend. Every number on this page is anchored to a file path and line number in the live codebase.

S
Studio At A Glance
AI Models Wired
14
Studio Modes
9 / 9
Quick Answer

The Synthetic Director (AGI-CORE-Pro V1.0) is a desktop-first creative production OS — the second flagship in the DDS Sovereign AGI Suite. Unlike its sibling Sovereign Orchestrator Pro (Case Study 01), this is not an autonomous publishing system. It is an operator-driven studio workstation that consolidates 10 traditional creative agency roles — social media manager, graphic designer, video editor, copywriter, SEO specialist, trend researcher, QA auditor, production coordinator, product photographer, and influencer/UGC creator — into a single 9-mode React 19 application.

78 source files, 13,295 lines of code, 14 AI models wired across 6 image tiers (Imagen 3.0 to 4.0 Ultra plus Gemini 2.5 to 3 Pro), 3 video tiers (Veo 3.1 Fast / Lite / Pro), 3 text fallback tiers (Gemini 3.1 to 3 to local Ollama), plus dedicated reasoning (Gemini 2.5 Pro) and TTS. IndexedDB persistence via Dexie. The real-world studio build cost is approximately $105,000. Annual API operating cost at full production cadence is approximately $1,420. Agency-replacement leverage ratio: approximately 123 to 1.

Section 01 / Verified at a Glance

Six numbers. Every one of them traceable.

The forensic audit dated May 15, 2026 anchors every claim on this page to a file path or line number in the live AGI-CORE-V9.1 codebase. These six headline numbers are the entry points. The remainder of the page walks down to the source.

F
Source Files
78
.ts / .tsx / .js / .jsx / .css
L
Lines of Code
13,295
application LOC, wc -l verified
M
AI Models Wired
14
config/models.ts:1-36
S
Studio Modes
9
types/ui.ts:14
P
Social Platforms
11
config/core.ts:7-19
$
Annual API Cost
~$1,420
at 240-product yearly cadence

Six production dependencies only: @google/genai, dexie, framer-motion, lucide-react, react, react-dom. Zero backend runtime. Zero auth libraries. Zero state management libraries. Pure client-side architecture with IndexedDB persistence via Dexie 4.3.0 — not PostgreSQL.

Section 02 / The Synthetic Agency

Ten human agency roles. One desktop application.

Where Sovereign Orchestrator Pro (Case Study 01) replaces 11 marketing roles autonomously, The Synthetic Director consolidates 10 traditional creative production roles into a single operator-driven workstation. Each role below is mapped to a verified service file or component in the live codebase. Together they represent what a 3-to-5 person creative team would deliver inside a digital agency.

The Synthetic Agency: 10 traditional creative roles mapped to verified service and component files.
Human Role US Salary Range What The App Does Instead Verified Source
Social Media Manager $55K-75K/yr Generates platform-native copy for 11 platforms with platform-specific constraints (character limits, hashtag rules, VO-script gates) services/promptEngine.ts:81-145
Graphic Designer $50K-70K/yr 6-tier image generation across Imagen and Gemini families, plus compositor pipeline and batch rendering services/gemini/images.ts (448 LOC)
Video Editor $55K-80K/yr Veo 3.1 video generation across 3 tiers, plus TTS audio synthesis and media mixer merging services/gemini/video.ts + services/mediaMixer.ts
Copywriter $50K-65K/yr Brand-voice-aware long-form copy with CRO reasoning and viral hook strategy services/gemini/text.ts:53-172
SEO Specialist $55K-75K/yr Product optimization with meta tags, slug generation, and keyword extraction for Shopify services/gemini/text.ts:236-255
Trend Researcher $45K-60K/yr Agent ARGUS Zeitgeist radar with Google Search grounding and typed trend signal output services/gemini/text.ts:15-51
QA / Brand Auditor $50K-65K/yr Vision-based quality scoring on a 1-to-10 scale with automated critique generation services/gemini/vision.ts:168-201
Production Coordinator $45K-60K/yr Auto-pilot batch orchestration across platforms with conflict-free queue management hooks/useStudioManager.ts (272 LOC)
Product Photographer $300-500/shoot 4-phase mockup compositor pipeline: Blank → Scan → Stamp → Melt services/gemini/images.ts:133-155
Influencer / UGC Creator $500-2,000/video 5-step AI influencer factory: identity → wardrobe → scene → script → video components/InfluencerFactory.tsx (544 LOC)
The Vibe Academy Takeaway

A bare-minimum 3-person creative team — Social Media Manager + Graphic Designer + Copywriter — at median US salaries totals approximately $175,000 per year in compensation alone, before benefits, taxes, office, and software seats. The Synthetic Director replicates the output capacity of this team at an API cost of approximately $1,420 per year (with video) or $360 per year (image-only). Leverage ratio: approximately 123 to 1 with video, 486 to 1 image-only. One operator, one desktop application, a full creative studio's output.

Section 03 / Honest Disclosure

What this case study proves — and what it does not.

The Vibe Academy standard requires every case study to surface its evidence gaps honestly. The Synthetic Director's gap profile is different from Sovereign Orchestrator Pro's (Case Study 01) — there is no R-03-equivalent zero-revenue window because this is operator-driven, not autonomous. But there are still gaps a fair reading must surface.

D-01 / Operating-Cost Projection (not historical) / Severity: Medium

The "$1,420 per year" headline is a calculated projection from verified per-unit pricing constants in services/costService.ts, multiplied by a target cadence of 240 products per year with 4 images per platform and 1 video per video-capable platform. It is not a historical spend total pulled from costLedger over a defined window. The per-unit prices are verified in code; the cadence is target, not measured.

D-02 / Build Cost is Methodology, Not Quote / Severity: Medium

The "$105,000 to $70,000 build cost" range is calculated from 78 source files / 13,295 LOC at 2026 US senior-engineering hourly rates ($175/hr for AI specialist, $200/hr for agency blended, $100/hr for mid-market freelancer). It is not a real contractor quote. Estimates cover code authoring only and exclude product design, UX research, the 34,893-byte brand bible, the 40,015-byte generator instructions, and 6+ months of production iteration.

D-03 / Single-Operator Dependency / Severity: Medium

All institutional knowledge — the brand bible, generator instructions, model selection rationale, voice profiles, MTG art configuration, and the codebase itself — resides with one person. The forensic audit and this case study are first steps toward documentation. The second step is hiring or partnering.

Why this disclosure leads the case study

Most builder-published case studies hide their projection-vs-history distinction or omit it entirely. This page treats it as the first thing a reader should know. The system has real technical scale, real per-unit cost discipline, and defensible build-cost methodology. It does not yet have a 12-month measured spend ledger or a contractor build quote to compare against. Both facts coexist. A solo builder studying this should understand that "calculated from verified inputs" and "measured over a real window" are two different bars, and that documenting which is which is part of audit-grade engineering.

The rest of this page presents the verified architecture, mode roster, model registry, prompt engine, cost discipline, external integrations, build-cost methodology, and risk factors. Each section cites either a file path with line number or a verified count from the May 15 audit. Read the technical claims with confidence; read the cost projections with the qualifiers above.

Section 04 / System Architecture

One client. Six dependencies. Zero backend.

The Synthetic Director is a desktop-first React 19 single-page application. Every byte of UI, state, persistence, AI routing, and cost telemetry runs in the operator's browser. The server-side surface is limited to the third-party APIs the app calls. This is a deliberate architectural choice — it gives the operator absolute data sovereignty.

Production technology stack with version pinning, verified from package.json lines 11 to 17.
ComponentVersionRole
React^19.2.0UI framework
React-DOM^19.2.0DOM renderer
TypeScript~5.8.2Strict typing across all 78 files
Vite^6.2.0Build + dev server
@google/genai^1.29.0Gemini SDK — text, image, video, audio, vision, live
Dexie^4.3.0IndexedDB ORM — client-side persistence
framer-motion^12.38.0UI animation engine
lucide-react^1.6.0Icon system

State management — three layers

  • Monolithic state controllerhooks/useStudioState.ts (276 lines). Single React hook that owns the complete studio state.
  • Auto-pilot orchestratorhooks/useStudioManager.ts (272 lines). Coordinates batched production runs across modes.
  • Seven action hooks in hooks/actions/: useContentActions.ts (265 LOC), useAssetActions.ts (259), useInfluencerActions.ts (237), useIntakeActions.ts (162), useMediaActions.ts (153), useConfigActions.ts (110), useGeneratorActions.ts (100). Each isolates a domain.

Persistence — IndexedDB, not PostgreSQL

The database is named DesignDelightStudio_DB (services/persistence.ts:12) and contains exactly 2 tables: studioState for session persistence and costLedger for financial telemetry (services/persistence.ts:13-16). Blob URLs are hydrated to Blob objects on session restore (services/persistence.ts:47-70). The saveProjectState() function serializes full React state to IndexedDB on every meaningful change (services/persistence.ts:73-86). Fully client-side. Zero backend runtime.

The Iron Dome — fallback chain

The LLM router (services/llmRouter.ts, 79 lines) implements a named resilience pattern called Iron Dome, logged as [IRON_DOME] across llmRouter.ts, images.ts, and text.ts. When a model returns HTTP 503 (overloaded) or 429 (rate-limited), the router catches the error and automatically downgrades to the next model in the configured chain (services/llmRouter.ts:85-89). Image generation has its own fallback path: any tier can fall back to GEMINI_DRAFT (services/gemini/images.ts:50-62). The retry engine in utils/asyncUtils.ts (30 lines) wraps every API call with configurable retry count and delay, and is used 23+ times across the service layer.

The Local Override

A boolean flag at services/llmRouter.ts:33-38 called isLocalMode routes all LLM traffic to Ollama when active. Combined with the cost service's exclusion of local models from billing (services/costService.ts:38-41), this gives the operator a true zero-cost mode for ideation and testing. Verified Ollama models in use: llama3.1 (8B, fast drafting) and mistral-nemo (12B, creative). Context window 8,192 tokens (services/ollamaService.ts:95).

Codebase directory map

components/ — 30 files for all React UI. services/ — 19 files for business logic and API (9 in the Gemini subdirectory). hooks/ — 11 files for state management. config/ — 6 files for static configuration. types/ — 4 files for TypeScript interfaces. utils/ — 3 files for helpers. Plus 5 root-level entry points (App.tsx, index.tsx, constants.ts, types.ts, vite.config.ts).

Section 05 / Studio Mode Registry

Nine operator-selected studio modes.

Verified in types/ui.ts:14 as the StudioMode union type. Each mode is implemented as a discrete React component file. The operator switches between modes via the StudioHeader mode selector, with state preserved by the monolithic useStudioState hook so context survives every mode switch.

CONTENT

Multi-Platform Production Modes

PROD
PRODUCTION / Multi-Platform Hub
batch text + image + video
297
LOC
INT
INTEL / Zeitgeist Trend Radar
Agent ARGUS + search grounding
121
LOC
OPT
OPTIMIZER / Shopify Product SEO
meta + slugs + keywords
325
LOC
IMAGE

Visual Generation Modes

GEN
GENERATOR / Standalone Image Gen
6-tier model selector
478
LOC
VIS
VISION / Computer Vision Analysis
CRO scoring 1-10
134
LOC
MCK
MOCKUP / Compositor Pipeline
Blank → Scan → Stamp → Melt
501
LOC
VIDEO

Cinematic Generation Modes

AD
AD_ANIMATOR / Image-to-Video Ads
Veo 3.1 / commercial-grade
321
LOC
SHT
SHORTS / Short-Form Video Pipeline
8-sec VO script + TTS
216
LOC
INFLUENCER

AI Persona Generation Mode

INF
INFLUENCER / 5-Step Factory Pipeline
identity → wardrobe → scene → script → video
544
LOC
Supporting studio infrastructure

studio/CopyDeck.tsx (341 LOC) is the social-post editor with platform-specific constraint enforcement. studio/VisualOutputStream.tsx (245 LOC) is the image and video output gallery with model selection and download controls. studio/StudioHeader.tsx (211 LOC) hosts the mode selector and the Planeswalker Protocol toggle. studio/StudioNav.tsx (88 LOC) handles navigation between modes. StudioManagerWidget.tsx (74 LOC) is the auto-pilot control panel. ChatGuide.tsx (604 LOC, the largest single file in the codebase) provides an interactive AI guide that walks new operators through every mode.

Section 06 / The 14-Model AI Cascade

Fourteen AI models. One unified cascade.

The complete model registry lives in config/models.ts lines 1 to 36. Three text fallback tiers, one dedicated reasoning model, one TTS model, six image generation tiers, and three video generation tiers. The cascade is what enables the operator to test ideas at draft tier for fractions of a cent before committing to commercial-grade quality tier renders.

Text and Vision Fallback (Iron Dome chain)

Tier 01 / Fastest
gemini-3.1-flash-lite-preview
First-call fastest and cheapest text + vision model. Handles high-volume, low-complexity tasks. Auto-falls back on 503/429.
config/models.ts:5
Tier 02 / Balanced
gemini-3-flash-preview
Mid-tier fallback. Higher quality with reasonable cost. Triggered when Tier 01 returns 503 or 429.
config/models.ts:6
Tier 03 / Local
ollama (llama3.1 + mistral-nemo)
Final fallback to local inference at zero marginal cost. Survives full Gemini outage. Tool emulation via JSON system prompts.
config/models.ts:7

Reasoning and Audio

Complex Reasoning
gemini-2.5-pro
config/models.ts:12 / dedicated for high-depth strategy + product DNA analysis
Audio / TTS
gemini-2.5-flash-preview-tts
config/models.ts:16 / $4 per 1M characters

Image Generation — 6-Tier Matrix

Two model families, each in 3 tiers (Draft / Cost / Quality). The operator selects the tier inline at generation time via the VisualOutputStream controls. Imagen tiers excel at photorealism; Gemini tiers excel at composition and editability.

6-tier image generation matrix verified in config/models.ts lines 19 to 28.
TierFamilyModel IDCost / Image
IMAGEN_DRAFTImagenimagen-3.0-fast-generate-001$0.02
IMAGEN_COSTImagenimagen-4.0-generate-001$0.04
IMAGEN_QUALITYImagenimagen-4.0-ultra-generate-001$0.06
GEMINI_DRAFTGeminigemini-2.5-flash-image$0.03
GEMINI_COSTGeminigemini-3.1-flash-image-preview$0.045
GEMINI_QUALITYGeminigemini-3-pro-image-preview$0.08

Video Generation — 3-Tier Matrix (Veo 3.1)

3-tier Veo 3.1 video matrix verified in config/models.ts lines 31 to 35, costs per ~8-second clip from costService.ts lines 121 to 125.
TierModel IDCost / 8s Clip
Draft (Fast)veo-3.1-fast-generate-preview$1.20
Cost (Lite)veo-3.1-lite-generate-preview$2.00
Quality (Pro)veo-3.1-generate-preview$3.20
Cascade discipline

The same cascade pattern that powers the Iron Dome resilience layer also powers cost discipline. The operator drafts at $0.02 per image to nail the composition, validates at $0.03 per image to nail the style, and commits to commercial production at $0.08 per image. Identical model selection logic, three different operating budgets. Total models wired: 14 (3 text + 1 reasoning + 1 TTS + 6 image + 3 video).

Section 07 / Prompt Engine

Seventeen prompt functions. Two named agents.

The entire prompt surface area lives in services/promptEngine.ts (380 lines). Two named agents drive the system: the Executive Studio Director (ESD) v9.0 at line 8 — the orchestrator that receives full workspace context for chat-driven actions — and Agent ARGUS (The Scout) at line 54 — the research analyst running the INTEL mode Zeitgeist radar with Google Search grounding.

The 17 prompt functions

Vision / Intake
identifySubject()
promptEngine.ts:23

5-word product description from any input image. The first call in the production pipeline.

Vision / Extract
extractDesign()
promptEngine.ts:25-32

Bounding-box detection that isolates the printed design from a product photograph. Feeds the compositor.

Strategy
analyzeProduct()
promptEngine.ts:34-47

Full product DNA analysis with strategy kernel. Returns subject identification, design extraction, and brand-voice match in a single Pro-tier call.

Intel
zeitgeistScan()
promptEngine.ts:49-79

Agent ARGUS trend intelligence with Google Search grounding. Returns typed trend signals (cultural, competitor, buying-intent).

Content
socialPost()
promptEngine.ts:81-145

Platform-native content generation. Branches on platform: Bluesky 250-char/no hashtags, X.com 280-char/max-2-hashtags, Sora/Veo cinematic mode, TikTok/Shorts/Reels 8-sec VO required.

Compositor
blankCanvas()
promptEngine.ts:148-158

Photorealistic blank garment generation. Phase 1 of the 4-phase mockup pipeline.

Compositor
locatePrintArea()
promptEngine.ts:160-163

Print zone coordinate detection on the blank garment. Phase 2 of the mockup pipeline. Output feeds the client-side Canvas stamp.

Compositor
harmonize()
promptEngine.ts:165-174

Physics-based design blending. Phase 4 (Melt) of the mockup pipeline. Reconciles lighting, shadow, and fabric drape.

Image
standardImage()
promptEngine.ts:176-183

Identity-preserving image generation. The default path when an operator generates without invoking a special pipeline.

QA
imageAudit()
promptEngine.ts:185-187

Quality scoring on a 1-to-10 scale. Vision-based critique generation for every output asset.

Vision
analyzeVision()
promptEngine.ts:189

CRO composition analysis. Powers the VISION mode dashboard.

Video
analyzeAd()
promptEngine.ts:191

Video animation potential analysis. Used by AD_ANIMATOR to determine whether a still image is a good candidate for Veo animation.

Video
shortsScript()
promptEngine.ts:193

Veo prompt writing. Generates the cinematic shot list for short-form video.

Optimization
optimizePrompt()
promptEngine.ts:195

Photorealism enhancement on operator-supplied prompts. Adds technical photography vocabulary and composition hints.

SEO
optimizeProduct()
promptEngine.ts:197-199

Shopify SEO optimization. Generates meta tags, slugs, and keyword extraction for the OPTIMIZER mode.

Master Builder
buildDirectorPrompt()
promptEngine.ts:206-379

Master image prompt builder. Six asset types: FLYER, HERO, YOUTUBE, SOCIAL, WEB, plus default Product Advertising. Drives the aspect ratio composition engine across 6 ratios with cinema-grade composition instructions.

Aspect Engine
6 ratio compositions
promptEngine.ts:226-245

21:9 Anamorphic, 16:9 Broadcast, 9:16 Mobile, 1:1 Square, 3:4 / 4:3 Editorial. Each ratio carries cinema-grade composition instructions that the master builder injects into the prompt.

Function-calling tools — 7 registered for the ESD chatbot

The Executive Studio Director chatbot is connected to 7 native Gemini function-calling tools declared in services/gemini/tools.ts lines 4 to 92. The operator can drive any of these tools by typing into the chatbot, and the ESD will execute them autonomously while explaining what it's doing.

7 registered tools for the Executive Studio Director chatbot from services/gemini/tools.ts.
ToolDescriptionLine
updateProductionDraftEdit social post text fields inline:6
regenerateAssetRegenerate an image or video output:27
navigateStudioSwitch the UI to a different mode programmatically:40
updateAdAnimatorConfigConfigure ad animator settings:51
triggerVisionAuditLaunch computer vision analysis on selected assets:63
triggerFullProductionExecute the full production pipeline:74
performDiagnosticsRun system health check across 4 probes:85
Section 08 / Cost Discipline

Every byte priced. Every call ledgered.

The cost service (services/costService.ts, 158 lines) intercepts every API call before it leaves the application. Each invocation writes a record to the costLedger IndexedDB table via logCost() (services/persistence.ts:110-116) with timestamp, model, type (TOKEN / IMAGE / VIDEO / AUDIO / LIVE_API), cost, and details. The Header component subscribes to costService.subscribe() for real-time display of session burn rate. Local Ollama models are excluded from billing by an explicit string-match guard at services/costService.ts:38-42.

Token pricing matrix

Token pricing matrix verified in services/costService.ts lines 56 to 72.
Model TierInput $/1M tokensOutput $/1M tokensSource Line
Flash-Lite$0.10$0.40:58-59
Flash$0.20$0.60:62-63
Pro / Ultra$1.25$5.00:66-67
Default Fallback$0.30$2.50:70-71

Visual + audio pricing — verified per-unit constants

Image Generation Range
$0.02 – $0.08per image
services/costService.ts:99-106 / 6-tier matrix
Video Generation Range
$1.20 – $3.20per 8s clip
services/costService.ts:121-125 / 3-tier Veo 3.1
Audio TTS
$4.00per 1M characters
services/costService.ts:139 / gemini-2.5-flash-preview-tts
Live API Sessions
$0.10per minute
services/costService.ts:160-161 / billed via setInterval

Per-product content run — verified math

Calculated from the per-unit pricing above. Each "product run" produces a complete 11-platform content suite: 1 product analysis (Pro), 11 social copy variants (Pro), 44 images at 4-per-platform (Imagen Draft), 4 video clips (Veo Draft), 4 TTS scripts, and 11 quality audits.

Verified per-product API cost at draft-tier across all media types.
OperationModel TierUnit CostQtySubtotal
Product AnalysisPro~$0.005 (1K in / 2K out tokens)1$0.005
Design ExtractionFlash-Lite~$0.0011$0.001
Social Copy × 11 platformsPro~$0.01 each11$0.11
Images at Imagen DraftImagen Draft$0.02 each44$0.88
Videos at Veo DraftVeo Draft$1.20 each4$4.80
TTS Audio (4 × ~200 chars)TTS~$0.0034$0.012
Quality AuditsPro~$0.0111$0.11
Per-Product Total~$5.92

Scaled projections — verified math

Projected API spend across cadences, calculated from verified per-unit constants. See Honest Disclosure D-01 above.
CadenceProducts / PeriodAPI CostAssets Generated
Daily1 product~$5.92 / day44 images + 4 videos + 11 copy decks
Weekly5 products~$29.60 / week220 images + 20 videos + 55 copy decks
Monthly20 products~$118.40 / month880 images + 80 videos + 220 copy decks
Yearly240 products~$1,420.80 / year10,560 images + 960 videos + 2,640 copy decks
Image-only floor — under $1 per product

If the operator skips video generation and runs only Flash-Lite text and Imagen Draft images, the per-product cost drops to ~$1.00. Daily image-only cadence: ~$1.00. Monthly image-only: ~$30. Yearly image-only: ~$360. This is the absolute floor for a full 11-platform content suite. It is also the budget that makes the local Ollama mode genuinely interesting — operators can ideate at zero marginal cost, then commit to commercial production only when the concept is locked.

Section 09 / External Integrations

Four external surfaces. Four health probes.

The Synthetic Director keeps its external dependencies narrow and explicitly probed. A 4-probe diagnostics module (services/gemini/diagnostics.ts, 105 lines) runs in parallel on demand, returning a structured health report. Plus five inferred creative model statuses (Imagen 4.0, Gemini 2.5 Image, Veo 3.1, Gemini TTS, Gemini Live) on lines 87 to 93.

External integrations and health probe configuration.
IntegrationEndpointProbe TypeSource
Gemini 3 Flash Google AI API Ping test (Logic) services/gemini/diagnostics.ts:13-25
Gemini 3 Pro Google AI API Ping test (Reasoning) services/gemini/diagnostics.ts:28-39
Shopify Admin API ku265s-dh.myshopify.com (API 2024-04) shop.json fetch via corsproxy.io services/gemini/diagnostics.ts:43-54
Atelier OS Smart DB http://localhost:9000 Health endpoint with 5s timeout services/gemini/diagnostics.ts:57-71

Shopify Admin API

The Shopify service (services/gemini/shopify.ts, 87 lines) handles the full Admin API surface: collections fetch, product listing, full product-plus-metafield retrieval, image upload, and product update (services/gemini/shopify.ts:12-95). All calls route through corsproxy.io to enable browser-based admin operations (services/gemini/shopify.ts:9). The system targets 13 hardcoded collection handles (config/core.ts:64-78) for campaign-aware product selection.

Atelier OS — the optional backend bridge

The Atelier OS integration (services/ingestionService.ts) is the bridge to a PostgreSQL-backed automation server running locally on port 9000. Note: this is a separate server from the React app's own persistence — the React app uses IndexedDB exclusively for its own state. The Atelier OS connection enables 5 endpoints:

  • GET /api/health — health check (services/ingestionService.ts:114)
  • POST /api/sync-products — Shopify product sync (services/ingestionService.ts:129)
  • POST /api/ingest-content — multipart file+copy transmission with auto-retry on 404 (services/ingestionService.ts:150)
  • POST /api/trend_signals — Zeitgeist intelligence storage (services/ingestionService.ts:217)
  • GET /api/product-assets/:id — retrieve stored assets (services/ingestionService.ts:241)

30-second timeout per request (services/ingestionService.ts:19). When Atelier OS is unreachable, the application falls back to IndexedDB-only operation — every mode still works.

Ollama Local AI

The Ollama integration (services/ollamaService.ts) wires the Iron Dome's final fallback tier. Host configuration: http://localhost:11434 with 127.0.0.1 fallback (services/ollamaService.ts:5,164). Two models in use: llama3.1 (8B, fast drafting) and mistral-nemo (12B, creative). Tool emulation converts Gemini function declarations to a Llama-compatible JSON system prompt (services/ollamaService.ts:48-69). Context window: 8,192 tokens (services/ollamaService.ts:95). Health probe: 2-second timeout with dual-host retry (services/ollamaService.ts:135-167).

Compositor — the 4-phase mockup pipeline

One integration deserves its own callout because it's the architectural signature of the MOCKUP mode. The compositor (services/gemini/images.ts:133-155) is a 4-phase pipeline that produces commercial-grade product mockups without any manual Photoshop work:

  1. Blank Canvas — Generate a photorealistic blank garment via blankCanvas()
  2. Scan — AI vision detects the print-area coordinates via locatePrintArea()
  3. Stamp — Client-side Canvas API composites the design onto the garment using the detected coordinates
  4. Melt — AI harmonizes lighting, shadows, and fabric physics via harmonize()

This is the architectural decision that lets one operator replace a $300-$500 product photo shoot for every drop, every season, every catalog refresh.

Section 10 / Build Cost Valuation

Six hundred hours. One hundred and five thousand dollars.

How much would it cost an agency, a freelancer, or an in-house team to build The Synthetic Director from a clean repository in 2026? The forensic audit produced a calculated estimate from 78 source files / 13,295 lines of production TypeScript and React, broken down by subsystem and benchmarked against 2026 US senior-engineering hourly rates. See Honest Disclosure D-02 above for the methodology qualifiers.

Industry rate benchmarks (US market 2026)

2026 US market hourly rate benchmarks for the role types involved in this build.
RoleHourly RateSource
Senior React / TypeScript Engineer$150-200/hrIndustry standard
AI / ML Integration Specialist$175-250/hrSpecialized market
UI / UX Designer (Implementation)$125-175/hrIndustry standard

Build hours by subsystem

Build hour estimates per subsystem, derived from verified file count and line count.
SubsystemFilesLinesEst. HoursRationale
Gemini Service Layer (9 files)91,466120-160Multi-model routing, fallback chains, polling loops, cost tracking
State Management (11 hooks)111,63680-120Complex monolithic state with persistence hydration
Studio Mode Components (9 modes)93,416160-200Each mode is a full-featured production interface
Prompt Engineering (1 engine)138040-6017 prompt functions with platform-specific constraints
Configuration Data (6 files)61,79730-40Curation of 175 subjects, 77 backgrounds, 22 campaigns, 14 voices
Supporting Components (12)121,61960-80Header, Nav, ChatBot, sharing, error handling
Infrastructure (types, utils, config)1498130-40TypeScript interfaces, helpers, build config
TOTAL13,295520-700 hrs

Cost estimates by builder type

Total estimated cost to build The Synthetic Director by builder profile, code-authoring only.
Builder TypeRateHoursTotal Cost
US Senior Fullstack + AI Specialist$175/hr600$105,000
US Agency (2-3 person team)$200/hr blended500$100,000
Mid-Market Freelancer$100/hr700$70,000
Offshore Development Team$50/hr800$40,000
What this number excludes

These estimates cover code authoring only. They exclude product design, UX research, the 34,893-byte DDS brand bible (dds_master_brand_bible_2026_02_24.md), the 40,015-byte generator instructions (generator_instructions.txt), and 6+ months of production iteration. The full delivered investment with design and operation is significantly higher. The methodology is transparent so a reader can adjust each line item to reflect their own market.

The leverage math

Replacement cost of comparable output capacity from a US creative agency: a 3-person team (Social Media Manager + Graphic Designer + Copywriter) at median US salaries totals approximately $175,000 per year in compensation alone, before benefits, taxes, software seats, office, or overhead. Annual operating cost of The Synthetic Director at 240-product cadence with video: ~$1,420. Annual operating cost image-only: ~$360.

  • Leverage ratio with video: $175,000 ÷ $1,420 = ~123 to 1
  • Leverage ratio image-only: $175,000 ÷ $360 = ~486 to 1

These ratios assume the operator is willing to spend the 600-hour upfront build (or pay $105,000 for it). They also assume the operator continues to provide the strategic direction, brand voice, and final approval gates that the application does not automate. This is not "AI replaces humans" — this is "AI replaces a specific class of execution labor while concentrating strategic judgment into one operator."

Section 11 / Risk Factors

Where the wiring is thin.

The forensic audit and 6+ months of production operation surface a defined risk profile. Each row below is a real, named, and currently-true risk. None of them are fatal. All of them are work items.

R-01
Single-operator dependency / Bus factor 1 The brand bible, generator instructions, model selection rationale, voice profiles, MTG art configuration, and the codebase itself all reside with one person. Documentation is improving (this case study is part of that), but full bus-factor mitigation requires either a partner or a documented hand-off package.
MED
R-02
Operator-driven cadence is the system's pace governor The Synthetic Director is operator-driven by design. The studio modes run when the operator opens them. Output volume is bounded by operator availability, attention, and energy. This is the architectural inverse of Case Study 01 (Sovereign Orchestrator Pro), which runs 19 autonomous worker threads on a clock. If the requirement is "always-on publishing", that is Case Study 01's domain, not this one.
MED
R-03
No measured 12-month spend ledger attached to this audit The costLedger table inside the live IndexedDB instance contains real historical spend records, but no exported snapshot of that ledger over a 12-month window has been attached to this case study. The "~$1,420/year" headline is a projection from verified per-unit pricing at a target cadence (see D-01). A measured snapshot is a near-term work item.
MED
R-04
External dependency on Gemini API availability and pricing The system depends on Google's Gemini, Imagen, and Veo APIs continuing to be available at the pricing tiers verified in costService.ts. The Iron Dome fallback chain mitigates short-term API outages. The local Ollama tier mitigates total Gemini outages for text and basic vision. No equivalent local fallback exists for Imagen or Veo — if Google deprecates those products, the image and video pipelines require re-architecture.
LOW
R-05
Preview-tier model deprecation risk Several models in the cascade carry the -preview suffix (gemini-3.1-flash-lite-preview, gemini-3-flash-preview, gemini-3.1-flash-image-preview, gemini-3-pro-image-preview, all three Veo 3.1 tiers, plus TTS). Preview models may be renamed or sunset on Google's schedule. The system's modular model registry means swapping a model ID requires a one-line config change, but tier rotation is an ongoing maintenance task.
LOW
R-06
Browser-only architecture limits batch sizes The fully client-side architecture is a strength (data sovereignty, zero server cost), but it also means batch operations are bounded by browser tab memory and the Dexie IndexedDB transaction model. Very-large production runs (hundreds of products at once) would benefit from offloading to a background worker or the optional Atelier OS backend, neither of which is the default path today.
LOW
Why this section exists

Most case studies hide their risk surface. The Vibe Academy standard treats risk transparency as a feature. A reader evaluating this architecture for their own studio should know exactly which wires are thin and which are load-bearing. Every named risk above is currently true. Every one of them also has a defined mitigation path.

Section 12 / Lessons Learned

Five highest-leverage architectural decisions.

The Synthetic Director is not a 78-file accident. It is the result of specific architectural decisions made deliberately, each with a tradeoff. The five below have the highest leverage — meaning, removing any one of them would substantially degrade the system, and replacing any one of them would require substantial rework. Vibe Coding apprentices should study these first.

1. The Iron Dome fallback chain pays for itself the first time Gemini returns 503

Cost: 79 lines in llmRouter.ts, plus retry wrappers in 23+ call sites. Benefit: the application keeps producing output during Google API outages, rate-limit spikes, and overload windows. Without this pattern, every Gemini hiccup becomes a UX failure. With it, the application degrades gracefully from Tier 01 to Tier 02 to local Ollama without the operator noticing. This pattern is portable — any multi-model AI application benefits from it.

2. IndexedDB via Dexie is the right persistence layer for desktop-first AI tools

The alternative was a PostgreSQL backend with auth, hosting, and a sync layer. The actual decision: stay client-side via Dexie 4.3.0 with a 2-table schema (studioState + costLedger) and serialize the full React state. Cost: 86 lines in services/persistence.ts. Benefit: zero backend hosting cost, zero auth complexity, full operator data sovereignty, and the application boots from a closed tab to a fully restored session in under 2 seconds. For a single-operator creative tool, this beats a backend on every dimension that matters.

3. The 4-phase compositor pipeline beats single-shot image generation

The alternative was "ask Imagen to put this design on this t-shirt in one prompt." That approach produces inconsistent results because the model has to solve three problems at once: render a photorealistic garment, place the design correctly, and harmonize lighting. The 4-phase compositor splits these into separate calls (blankCanvas()locatePrintArea() → Canvas API stamp → harmonize()), each of which is a smaller and more reliable problem. Cost: 23 lines of pipeline orchestration in services/gemini/images.ts:133-155. Benefit: commercial-grade mockups consistently, on the first attempt, at draft tier.

4. Co-locating cost telemetry with model selection enforces discipline at the point of decision

The cost service is not a reporting tool. It is a live subscription that the Header component reads in real time, displaying the session's burn rate inline with the model selector. When the operator chooses GEMINI_QUALITY ($0.08/image) over IMAGEN_DRAFT ($0.02/image), the cost delta is visible at the moment of the choice. Cost: 158 lines in costService.ts plus the logCost() wrapper. Benefit: the application enforces operator discipline by surfacing the cost of every decision in the same UI as the decision itself.

5. The 9-mode segmentation is a UX decision, not a technical one

Every studio mode could be a route inside a single component. Splitting them into 9 separate top-level components with explicit mode-switching UI is a deliberate UX choice — it gives the operator a mental map of the tool's capabilities and prevents feature creep within any single mode. The operator always knows where they are in the application and what tools are available. Cost: ~3,400 LOC across 9 mode components. Benefit: a tool that is learnable in one afternoon despite implementing the surface area of a 10-role creative agency.

What does NOT belong on this list

React 19 over React 18 — incremental upgrade, not architectural. Vite over Webpack — toolchain preference. lucide-react over Heroicons — icon library swap. framer-motion — useful but not load-bearing. Mode-specific UI polish — would mostly be re-done in any rewrite. The five decisions above are the ones that, if you took them out, the system would not work. The rest is implementation.

For Vibe Academy apprentices studying this architecture: build the Iron Dome chain first, then the IndexedDB persistence layer, then a single mode end-to-end with co-located cost telemetry. Get that triangle working before adding the second mode. Add modes one at a time, each in its own component file. Refuse to share state between modes except through the central useStudioState hook. That's the discipline.

Section 13 / Frequently Asked Questions

Fifteen questions. Honest answers.

Every answer below mirrors the FAQPage JSON-LD schema embedded in the page head. Featured-snippet engines, AI search systems, and voice assistants ingest these directly. The wording is identical to the schema source of truth — what you read on screen is what the structured data delivers.

DDS Vibe Academy / Case Study 02 of the Sovereign AGI Suite

One operator. One desktop application. Ten agency roles.

The Synthetic Director is what happens when one operator with disciplined Vibe Coding methodology builds the creative agency they want to work inside, instead of working at one. The forensic audit is open. The architecture is documented. The numbers are anchored. This is what AGI-native solo studios will look like at scale.