# optim-ai/optimx---beta architecture

> Architecture diagram of the GitHub repository optim-ai/optimx---beta, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/optim-ai/optimx---beta
- Repository: https://github.com/optim-ai/optimx---beta

## Overview

SkalX AI is a marketing automation platform combining AI-assisted creative production, brand research, ad-platform connections, analytics, and credit-based billing. A user-facing workflow begins in the creative studio, where users configure a brand and campaign, generate poster or video assets, and manage campaign work; the README also describes cross-platform publishing and analytics. The sampled poster service shows strategy, concept selection, and generation calls. Other product areas are retained based on the README and file tree; unsampled implementation details and links are omitted where evidence is unavailable.

Main entry points: [`lib/content-studio/engine-posters.ts`](https://github.com/optim-ai/optimx---beta/blob/main/lib/content-studio/engine-posters.ts) (Poster orchestration), [`app/web/src/components/creative-studio/VideoSessionPageClient.tsx`](https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/VideoSessionPageClient.tsx) (Creative studio), [`integrations/meta/auth.ts`](https://github.com/optim-ai/optimx---beta/blob/main/integrations/meta/auth.ts) (Meta connection), [`app/api/generate-campaign/route.ts`](https://github.com/optim-ai/optimx---beta/blob/main/app/api/generate-campaign/route.ts) (Campaign generation API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_creative["Creative production"]
  node_studio["Creative studio"]
  node_poster_ui["Poster workspace"]
  node_ugc_setup["UGC setup<br/>[UgcSetup.tsx]"]
  node_video_workspace["Video workspace"]
  node_poster_api["Poster client"]
  node_poster_engine["Poster generation<br/>[index.ts]"]
  node_poster_service["Poster orchestration<br/>[engine-posters.ts]"]
  node_campaign_api["Campaign generation API<br/>[route.ts]"]
  node_campaign_pipeline["Commercial production<br/>[pipeline.ts]"]
  node_caption_api["Caption generation<br/>[route.ts]"]
  node_prompt_tools["Prompt tools<br/>[route.ts]"]
end

subgraph group_marketing["Marketing intelligence"]
  node_brand_research["Brand audit<br/>[pipeline.ts]"]
  node_brand_kit["Brand kit<br/>[server.ts]"]
  node_meta_intel["Meta analytics<br/>[service.ts]"]
end

subgraph group_platforms["Ad platforms"]
  node_meta_connect["Meta connection<br/>[auth.ts]"]
  node_instagram["Instagram tools<br/>[instagram.ts]"]
  node_facebook["Facebook tools<br/>[facebook.ts]"]
  node_google_ads["Google Ads client<br/>[googleAdsClient.ts]"]
end

subgraph group_commerce["Accounts and billing"]
  node_billing["Subscriptions and credits"]
  node_payment_webhook["Payment webhook<br/>[webhook.service.ts]"]
end

subgraph group_persistence["Data and storage"]
  node_database[("Application database<br/>[schema.ts]")]
  node_storage[("Supabase storage<br/>[storage.ts]")]
end

node_user(("Marketer"))

node_user -->|"creates campaigns"| node_studio
node_studio -->|"requests posters"| node_poster_api
node_poster_api -.->|"calls poster APIs"| node_poster_service
node_poster_service -->|"loads brand"| node_brand_kit
node_poster_service -->|"runs strategy and generation"| node_poster_engine
node_user -->|"requests campaign"| node_campaign_api
node_campaign_api -->|"checks credits"| node_billing
node_studio -.->|"starts generation"| node_campaign_api
node_ugc_setup -->|"configures UGC"| node_studio
node_video_workspace -.->|"produces video"| node_campaign_pipeline
node_user -->|"requests audit"| node_brand_research
node_user -->|"requests captions"| node_caption_api
node_user -->|"refines prompts"| node_prompt_tools
node_user -->|"connects accounts"| node_meta_connect
node_meta_connect -.->|"authorizes access"| node_instagram
node_meta_connect -.->|"authorizes access"| node_facebook
node_user -->|"manages ads"| node_google_ads
node_meta_intel -->|"presents analytics"| node_user
node_payment_webhook -->|"updates entitlements"| node_billing
node_poster_service -.->|"stores assets"| node_storage
node_brand_kit -->|"reads brand data"| node_database
node_payment_webhook -->|"persists payments"| node_database

click node_studio "https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/VideoSessionPageClient.tsx"
click node_poster_ui "https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/PosterCreativeWorkspace.tsx"
click node_ugc_setup "https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/UgcSetup.tsx"
click node_video_workspace "https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/VideoStudioWorkspace.tsx"
click node_poster_api "https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/poster-engine-client.ts"
click node_poster_engine "https://github.com/optim-ai/optimx---beta/blob/main/lib/creative-studio/poster-generation/index.ts"
click node_poster_service "https://github.com/optim-ai/optimx---beta/blob/main/lib/content-studio/engine-posters.ts"
click node_campaign_api "https://github.com/optim-ai/optimx---beta/blob/main/app/api/generate-campaign/route.ts"
click node_campaign_pipeline "https://github.com/optim-ai/optimx---beta/blob/main/lib/creative-studio/commercial-production/pipeline.ts"
click node_caption_api "https://github.com/optim-ai/optimx---beta/blob/main/app/api/generateCaption/route.ts"
click node_prompt_tools "https://github.com/optim-ai/optimx---beta/blob/main/app/api/enhancePrompt/route.ts"
click node_brand_research "https://github.com/optim-ai/optimx---beta/blob/main/lib/audit/pipeline.ts"
click node_brand_kit "https://github.com/optim-ai/optimx---beta/blob/main/lib/brand-kit/server.ts"
click node_meta_intel "https://github.com/optim-ai/optimx---beta/blob/main/lib/meta-ig/service.ts"
click node_meta_connect "https://github.com/optim-ai/optimx---beta/blob/main/integrations/meta/auth.ts"
click node_instagram "https://github.com/optim-ai/optimx---beta/blob/main/integrations/meta/instagram.ts"
click node_facebook "https://github.com/optim-ai/optimx---beta/blob/main/integrations/meta/facebook.ts"
click node_google_ads "https://github.com/optim-ai/optimx---beta/blob/main/googleAdsClient.ts"
click node_billing "https://github.com/optim-ai/optimx---beta/blob/main/database/models/Subscriptions.dao.ts"
click node_payment_webhook "https://github.com/optim-ai/optimx---beta/blob/main/lib/razorpay/webhook.service.ts"
click node_database "https://github.com/optim-ai/optimx---beta/blob/main/database/schema.ts"
click node_storage "https://github.com/optim-ai/optimx---beta/blob/main/lib/ad-studio/storage.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_studio,node_poster_ui,node_ugc_setup,node_video_workspace,node_poster_api,node_poster_engine,node_poster_service,node_campaign_api,node_campaign_pipeline,node_caption_api,node_prompt_tools toneBlue
class node_brand_research,node_brand_kit,node_meta_intel toneAmber
class node_meta_connect,node_instagram,node_facebook,node_google_ads toneMint
class node_billing,node_payment_webhook toneRose
class node_database,node_storage,node_user toneIndigo
```

## Components

### Creative production

- [Creative studio](https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/VideoSessionPageClient.tsx): `app/web/src/components/creative-studio/VideoSessionPageClient.tsx`
- [Poster workspace](https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/PosterCreativeWorkspace.tsx): `app/web/src/components/creative-studio/PosterCreativeWorkspace.tsx`
- [UGC setup](https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/UgcSetup.tsx): `app/web/src/components/creative-studio/UgcSetup.tsx`
- [Video workspace](https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/VideoStudioWorkspace.tsx): `app/web/src/components/creative-studio/VideoStudioWorkspace.tsx`
- [Poster client](https://github.com/optim-ai/optimx---beta/blob/main/app/web/src/components/creative-studio/poster-engine-client.ts): `app/web/src/components/creative-studio/poster-engine-client.ts`
- [Poster generation](https://github.com/optim-ai/optimx---beta/blob/main/lib/creative-studio/poster-generation/index.ts): `lib/creative-studio/poster-generation/index.ts`
- [Poster orchestration](https://github.com/optim-ai/optimx---beta/blob/main/lib/content-studio/engine-posters.ts): `lib/content-studio/engine-posters.ts`
- [Campaign generation API](https://github.com/optim-ai/optimx---beta/blob/main/app/api/generate-campaign/route.ts): `app/api/generate-campaign/route.ts`
- [Commercial production](https://github.com/optim-ai/optimx---beta/blob/main/lib/creative-studio/commercial-production/pipeline.ts): `lib/creative-studio/commercial-production/pipeline.ts`
- [Caption generation](https://github.com/optim-ai/optimx---beta/blob/main/app/api/generateCaption/route.ts): `app/api/generateCaption/route.ts`
- [Prompt tools](https://github.com/optim-ai/optimx---beta/blob/main/app/api/enhancePrompt/route.ts): `app/api/enhancePrompt/route.ts`

### Marketing intelligence

- [Brand audit](https://github.com/optim-ai/optimx---beta/blob/main/lib/audit/pipeline.ts): `lib/audit/pipeline.ts`
- [Brand kit](https://github.com/optim-ai/optimx---beta/blob/main/lib/brand-kit/server.ts): `lib/brand-kit/server.ts`
- [Meta analytics](https://github.com/optim-ai/optimx---beta/blob/main/lib/meta-ig/service.ts): `lib/meta-ig/service.ts`

### Ad platforms

- [Meta connection](https://github.com/optim-ai/optimx---beta/blob/main/integrations/meta/auth.ts): `integrations/meta/auth.ts`
- [Instagram tools](https://github.com/optim-ai/optimx---beta/blob/main/integrations/meta/instagram.ts): `integrations/meta/instagram.ts`
- [Facebook tools](https://github.com/optim-ai/optimx---beta/blob/main/integrations/meta/facebook.ts): `integrations/meta/facebook.ts`
- [Google Ads client](https://github.com/optim-ai/optimx---beta/blob/main/googleAdsClient.ts): `googleAdsClient.ts`

### Accounts and billing

- [Subscriptions and credits](https://github.com/optim-ai/optimx---beta/blob/main/database/models/Subscriptions.dao.ts): `database/models/Subscriptions.dao.ts`
- [Payment webhook](https://github.com/optim-ai/optimx---beta/blob/main/lib/razorpay/webhook.service.ts): `lib/razorpay/webhook.service.ts`

### Data and storage

- [Application database](https://github.com/optim-ai/optimx---beta/blob/main/database/schema.ts): `database/schema.ts`
- [Supabase storage](https://github.com/optim-ai/optimx---beta/blob/main/lib/ad-studio/storage.ts): `lib/ad-studio/storage.ts`

### Other components

- **Marketer**

## Connections

- Marketer → Creative studio: creates campaigns
- Creative studio → Poster client: requests posters (evidence: `app/web/src/components/creative-studio/poster-engine-client.ts`)
- Poster client → Poster orchestration: calls poster APIs
- Poster orchestration → Brand kit: loads brand (evidence: `lib/content-studio/engine-posters.ts`)
- Poster orchestration → Poster generation: runs strategy and generation (evidence: `lib/content-studio/engine-posters.ts`)
- Marketer → Campaign generation API: requests campaign
- Campaign generation API → Subscriptions and credits: checks credits (evidence: `app/api/generate-campaign/route.ts`)
- Creative studio → Campaign generation API: starts generation
- UGC setup → Creative studio: configures UGC (evidence: `app/web/src/components/creative-studio/VideoSessionPageClient.tsx`)
- Video workspace → Commercial production: produces video
- Marketer → Brand audit: requests audit
- Marketer → Caption generation: requests captions
- Marketer → Prompt tools: refines prompts
- Marketer → Meta connection: connects accounts
- Meta connection → Instagram tools: authorizes access
- Meta connection → Facebook tools: authorizes access
- Marketer → Google Ads client: manages ads
- Meta analytics → Marketer: presents analytics
- Payment webhook → Subscriptions and credits: updates entitlements (evidence: `lib/razorpay/webhook.service.ts`)
- Poster orchestration → Supabase storage: stores assets
- Brand kit → Application database: reads brand data (evidence: `lib/brand-kit/server.ts`)
- Payment webhook → Application database: persists payments (evidence: `lib/razorpay/webhook.service.ts`)
