Part 1
Account Setup & Branding Guide
Ecosystem inventory, bio templates, asset specs, content pillars, and daily cadences

1.1 โ€” Social Property Account Inventory

Every active social channel in the BoldmindNG ecosystem, mapped with handles and validation states.

Brand / Product Platform Handle / Link Channel Type Status โœ“
BoldmindNG Hub TikTok @boldmindng Main Brand โœ… Active
BoldmindNG Hub Twitter/X @boldmindng Main Brand โœ… Active
BoldmindNG Hub LinkedIn company/boldmindng Company Page โœ… Active
BoldmindNG Hub YouTube @boldmindng Channel โœ… Active
BoldmindNG Hub Facebook facebook.com/boldmindng1 Page โœ… Active
BoldmindNG Hub WhatsApp wa.me/2349138349271 Business Channel โœ… Active
PlanAI TikTok @planaibyboldmind Product Brand โœ… Active
PlanAI Twitter/X @planaibyboldmin Product Brand โœ… Active
PlanAI LinkedIn company/planaibyboldmind Company Page โœ… Active
PlanAI Facebook facebook.com/planaibyboldmind Page โœ… Active
PlanAI WhatsApp wa.me/234 Business Channel โš ๏ธ Needs Full Link
AmeboGist NG TikTok @amebogistng Media Brand โœ… Active
AmeboGist NG Twitter/X @amebogistng Media Brand โœ… Active
AmeboGist NG Facebook facebook.com/amebogistng1 Page โœ… Active
AmeboGist NG YouTube @amebogistng Channel โœ… Active
AmeboGist NG WhatsApp wa.me/234 Broadcast Channel โš ๏ธ Needs Full Link
Boldmind EduCenter TikTok @boldmindeducenter Edu Brand โœ… Active
Boldmind EduCenter Facebook facebook.com/boldmindeducenter Page โœ… Active
Boldmind EduCenter YouTube @boldmindeducenter Channel โœ… Active
Boldmind EduCenter WhatsApp wa.me/234 Student Prep Community โš ๏ธ Needs Full Link
VillageCircle NG TikTok @villagecircleng Philosophy Brand โœ… Active
VillageCircle NG Twitter/X @villagecircleng Philosophy Brand โœ… Active
VillageCircle NG Facebook facebook.com/villagecircleng1 Page โ€” Eldership Community โœ… Active
VillageCircle NG YouTube @villagecircleng1 Channel โœ… Active
Vibe Coders Facebook fb.com/share/g/1GeXoCEK2a/ Group โ€” Developer Guild โœ… Active
AmeboGist NG WhatsApp TBD Broadcast Channel ๐Ÿ”ฒ Pending Setup

1.2 โ€” Platform Bio Templates

BoldmindNG Hub
Twitter/X (160 chars)
Nigeria's builder OS. ๐Ÿš€ One login โ†’ PlanAI, AmeboGist, EduCenter & VillageCircle. For founders who ship. boldmind.ng
Instagram (150 chars)
๐Ÿš€ BoldmindNG โ€” Nigeria's complete builder ecosystem. PlanAI โ€ข AmeboGist โ€ข EduCenter โ€ข VillageCircle. One account to start, grow & scale.
TikTok (80 chars)
Nigeria's #1 builder ecosystem ๐Ÿš€ boldmind.ng
LinkedIn
Boldmind Technology Solution Enterprise is Nigeria's integrated digital ecosystem โ€” unifying PlanAI (AI business tools), AmeboGist NG (Pidgin media), Boldmind EduCenter (EdTech), and VillageCircle NG (philosophy & conviction) under a single SSO. We are building the infrastructure for the next generation of Nigerian entrepreneurs, creators, and change-makers. Established in Lagos, expanding across West Africa.
YouTube
BoldmindNG is Nigeria's ecosystem for builders and change-makers. Tutorials, product updates, founder stories, and educational content across our four pillars: Enablement (PlanAI), Awareness (AmeboGist), Education (EduCenter), and Conviction (VillageCircle). Subscribe to build with us.
PlanAI by BoldmindNG
Twitter/X (160 chars)
The complete AI business OS for Nigerian entrepreneurs โšก 13 tools: Social, Ads, Brand, CRM, HR & more. planai.boldmind.ng
Instagram (150 chars)
โšก PlanAI โ€” 13 AI-powered tools for Nigerian businesses. Social Media โ€ข Ads โ€ข Brand โ€ข Intelligence โ€ข CRM โ€ข HR & more. Start today.
TikTok (80 chars)
13 AI tools for your Nigerian business โšก PlanAI
LinkedIn
PlanAI by BoldmindNG is the complete business operating system for Nigerian entrepreneurs. One subscription unlocks 13 AI-powered tools spanning social media management, advertising, branding, business intelligence, CRM, HR & payroll, marketplace, and investor readiness โ€” purpose-built for the realities of doing business in Nigeria, from Paystack payments to Pidgin content.
YouTube
PlanAI is Nigeria's first all-in-one AI business suite. 13 tools, one login, everything a Nigerian business needs to start, grow, and scale. Watch demos, tutorials, and success stories here.
AmeboGist NG
Twitter/X (160 chars)
Nigeria's #1 Pidgin media ๐Ÿ“ฐ AI/Tech โ€ข Sports โ€ข Politics โ€ข Entertainment โ€ข Creator Life. 12k+ readers. amebogist.ng
Instagram (150 chars)
๐Ÿ“ฐ AmeboGist NG โ€” Your daily Naija gist in Pidgin English. Tech, Sports, Politics, Entertainment & Creator Life. 12k+ strong.
TikTok (80 chars)
Naija gist for real ones ๐Ÿ“ฐ AmeboGist NG
LinkedIn
AmeboGist NG is Nigeria's leading Pidgin English digital media platform, covering AI & Technology, creator entrepreneurship, sports, politics, entertainment, and trending gist. With 12,000+ monthly readers, we are the trusted voice of everyday Nigerians โ€” building a media brand that speaks the language of the people.
YouTube
AmeboGist NG delivers Nigeria's top news, gist, and commentary in Pidgin English. From AI trends to Naija politics โ€” we break it down the way the people talk. Subscribe for daily uploads.
VillageCircle NG
Twitter/X (160 chars)
Story-driven philosophy for the African builder ๐ŸŒฑ Daily drops. 5 Rivers doctrine. Concept incubator. villagecircle.ng
Instagram (150 chars)
๐ŸŒฑ VillageCircle NG โ€” where tomorrow's products begin as stories. Philosophy, doctrine & concept drops for African builders.
TikTok (80 chars)
African philosophy meets product thinking ๐ŸŒฑ
LinkedIn
VillageCircle NG is the philosophical heart of the BoldmindNG ecosystem โ€” a story-driven community publishing daily drops across five rivers of thought: Religion & Culture, History, Economic Liberation, Technology Leap, and Pan-African Governance. We are the conviction pillar โ€” turning readers into believers and incubating tomorrow's products as stories before they become code.
YouTube
VillageCircle NG publishes daily philosophical drops and concept stories grounded in African wisdom and builder thinking. A space for those who believe Africa's next chapter must be written by Africans. Subscribe for weekly concept explorations and elder audio drops.

1.3 โ€” Profile Asset Specifications

Asset Type Dimensions Format Safe Zone Notes
Profile Photo (all platforms) 800ร—800px PNG (transparent bg) 680ร—680px centered White icon on brand-primary gradient
Twitter/X Header 1500ร—500px JPG/PNG 1000ร—200px center strip Keep key visuals in center; left/right edges crop on mobile
Facebook Cover 820ร—312px JPG 640ร—240px center Text in bottom-left 200px zone; avoid top/right corners
LinkedIn Company Banner 1128ร—191px JPG/PNG 900ร—150px center Very narrow โ€” logo left, tagline center, keep clean
YouTube Channel Art 2560ร—1440px JPG/PNG 1546ร—423px center TV safe: center; Desktop: 1235ร—338px; Mobile: 1546ร—423px
YouTube Profile Icon 800ร—800px PNG 720ร—720px Circular crop on display
Instagram Highlight Cover 1080ร—1080px JPG/PNG Full bleed + 60px top/bottom safe Circular display; keep icon centered
Instagram Post (Square) 1080ร—1080px JPG/PNG Full Standard format
Instagram Post (Portrait) 1080ร—1350px JPG/PNG Full 4:5 ratio โ€” best organic reach
Vertical Video (Shorts/Reels/TikTok) 1080ร—1920px MP4 380px top + 380px bottom clearance See Part 5 for safe zone detail
WhatsApp Broadcast Icon 500ร—500px JPG/PNG 440ร—440px Profile image for channel

1.4 โ€” Asset Design Layout Rules

Canvas Compilation Rules (for fal.ai/FLUX + HTML5 Canvas overlay)

Gradient Angle
Always 135ยฐ (top-left to bottom-right). Primary color โ†’ darkened primary (subtract 20% luminance). Secondary color used only for accent tints.
Product Icon Placement
Centered on canvas. White icon SVG at 38% of canvas width. Opacity: 100%.
Logo Mark
Bottom-left corner. 40px from left edge, 40px from bottom edge. White variant always. Plus Jakarta Sans Bold 700. Size: 28โ€“34px.
Tagline
Bottom-right corner. 40px from right edge, 48px from bottom edge. White. Plus Jakarta Sans Regular 400. Size: 14โ€“16px. Opacity: 70%.
Overlay Noise Texture
Subtle grain texture at 4% opacity overlaid on gradient for depth.
Border Tint
2px solid rgba(255,255,255,0.12) inset border on all card assets.
Text Contrast Rule
Always #FFFFFF on dark backgrounds. getContrastColor() utility used (see Part 2) for any dynamic surface.
Font Loading
Google Fonts: Plus Jakarta Sans (weights 400,700,800) injected via <link> before canvas render.

1.5 โ€” Content Pillars & Daily Cadences

Channel Primary Pillar Content Mix Daily Posts Best Times (WAT)
BoldmindNG (all platforms) Enablement 40% SME Tips | 25% Founder Stories | 20% Ecosystem News | 15% Product Demos 2/day 7:30 AM & 7:00 PM
PlanAI Enablement 35% AI Tool Tips | 25% Business Case Studies | 25% Product Features | 15% Testimonials 2/day 8:00 AM & 6:00 PM
AmeboGist NG Awareness 30% Nigerian Tech/AI News | 25% Sports | 20% Politics | 15% Entertainment | 10% Creator Life 4โ€“6/day 7:00 AM, 12:00 PM, 4:00 PM, 8:00 PM
Boldmind EduCenter Education 40% Exam Countdown Cards | 30% Study Tips | 20% Past Q Previews | 10% Scholar Stories 3/day 6:30 AM, 12:30 PM, 7:30 PM
VillageCircle NG Conviction 60% Daily Drops (Philosophy) | 25% Concept Teasers | 15% Audio Drop Clips 1/day 8:30 AM (fixed โ€” brand discipline)
Vibe Coders (FB Group) Conviction/Education 35% Build-in-Public Logs | 25% Cursor/Next.js/Supabase Tips | 20% Fundraising Metrics | 20% Cohort Updates Daily update 9:00 AM
Vibe-Coders Developer Telemetry Focus

The Vibe-Coders Facebook Group content must follow a build-in-public discipline: (1) weekly GitHub commit logs, (2) Cursor AI session screenshots, (3) Next.js 15 / Supabase / Tailwind code snippets with commentary, (4) investor-ready KPIs (cohort size, revenue per student, ISA conversion rate, demo day waitlist), and (5) speculative product concept teaser cards linked to VillageCircle NG drops.

1.6 โ€” Speculative Concept Explorations (VillageCircle)

Content specifically for VillageCircle concept pages (KoloAI, SAFE AI, BorderlessRemit, ReceiptGenius, PowerAlert, FarmGate, AfroCopy, AnonTruth) should follow the Speculative Concept Explorer format: waitlist count, river taxonomy badge (e.g. "Economic Liberation"), concept status, and audio drop link. See Part 5 for the React ConceptNode model.

Part 2
Technical Frontend Integration & Styling Rules
CSS variables, typography engine, and card layout templates

2.1 โ€” CSS Variable Injection Utility

The generateCSSVariables utility compiles HEX entries to dynamic :root CSS variables. The getContrastColor helper returns optimal light/dark overlay text.

// utils/brandColors.ts
import type { ProductColorScheme } from '@/data/colors';

/** Injects full product color scheme as :root CSS variables */
export function generateCSSVariables(scheme: ProductColorScheme): string {
  const hex = (h: string, a: number) => {
    const r = parseInt(h.slice(1,3),16), g = parseInt(h.slice(3,5),16), b = parseInt(h.slice(5,7),16);
    return `rgba(${r},${g},${b},${a})`;
  };
  return `
    --product-primary:    ${scheme.primary};
    --product-secondary:  ${scheme.secondary};
    --product-accent:     ${scheme.accent};
    --product-background: ${scheme.background};
    --product-foreground: ${scheme.foreground};
    --product-muted:      ${scheme.muted};
    --product-success:    ${scheme.success};
    --product-warning:    ${scheme.warning};
    --product-error:      ${scheme.error};
    --product-info:       ${scheme.info};
    --product-highlight:  ${hex(scheme.secondary, 0.12)};
    --product-glow:       ${hex(scheme.secondary, 0.25)};
    --product-shadow-sm:  ${scheme.shadows.sm};
    --product-shadow-md:  ${scheme.shadows.md};
    --product-shadow-lg:  ${scheme.shadows.lg};
    --product-shadow-xl:  ${scheme.shadows.xl};
    --product-gradient-primary-start: ${scheme.gradients.primary[0]};
    --product-gradient-primary-end:   ${scheme.gradients.primary[1]};
    --product-gradient-bg-start:      ${scheme.gradients.background[0]};
    --product-gradient-bg-end:        ${scheme.gradients.background[1]};
  `.trim();
}

/** Returns #FAFAF9 (light) or #1A202C (dark) for optimal contrast */
export function getContrastColor(hexColor: string): '#FAFAF9' | '#1A202C' {
  const hex = hexColor.replace('#','');
  const r = parseInt(hex.substring(0,2),16);
  const g = parseInt(hex.substring(2,4),16);
  const b = parseInt(hex.substring(4,6),16);
  const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
  return luminance > 0.5 ? '#1A202C' : '#FAFAF9';
}

/** Injects CSS into a DOM <style> element at runtime */
export function injectProductTheme(slug: string, scheme: ProductColorScheme): void {
  const styleId = `boldmind-theme-${slug}`;
  let el = document.getElementById(styleId) as HTMLStyleElement | null;
  if (!el) {
    el = document.createElement('style');
    el.id = styleId;
    document.head.appendChild(el);
  }
  el.textContent = `:root { ${generateCSSVariables(scheme)} }`;
}

/** Generates Tailwind-compatible arbitrary value class map */
export function generateThemeClasses(scheme: ProductColorScheme): Record<string, string> {
  return {
    primaryBg:   `bg-[${scheme.primary}]`,
    secondaryBg: `bg-[${scheme.secondary}]`,
    accentBg:    `bg-[${scheme.accent}]`,
    text:        `text-[${scheme.foreground}]`,
    background:  `bg-[${scheme.background}]`,
    border:      `border-[${scheme.muted}]`,
    primaryText: `text-[${scheme.primary}]`,
    ring:        `ring-[${scheme.primary}]`,
  };
}

2.2 โ€” Centralized Font & Typography Engine

The BOLDMIND_FONT_CONFIG maps each product to its optimal font stack, prioritizing OpenDyslexic for neurodiverse accessibility across SaaS and educational portals, and Lora/Playfair Display for VillageCircle's philosophical tone.

// config/fonts.ts
export const BOLDMIND_FONT_CONFIG = {
  default:  'OpenDyslexic, "Comic Sans MS", sans-serif',
  heading:  'OpenDyslexic, "Plus Jakarta Sans", "Inter", sans-serif',
  mono:     '"JetBrains Mono", "Fira Code", monospace',

  overrides: {
    'planai':               'OpenDyslexic, "Plus Jakarta Sans", sans-serif',
    'social-media-manager': 'OpenDyslexic, "Plus Jakarta Sans", sans-serif',
    'ads-center':           'OpenDyslexic, "Plus Jakarta Sans", sans-serif',
    'brand-digital-home':   'OpenDyslexic, "Plus Jakarta Sans", sans-serif',
    'business-intelligence':'OpenDyslexic, "Inter", sans-serif',
    'crm':                  'OpenDyslexic, "Inter", sans-serif',
    'hr-payroll':           'OpenDyslexic, "Inter", sans-serif',
    'project-manager':      'OpenDyslexic, sans-serif',
    'boldmind-fitness':     'OpenDyslexic, "Inter", sans-serif',
    'boldmind-hub':         'OpenDyslexic, "Plus Jakarta Sans", sans-serif',
    'educenter':            'OpenDyslexic, "Inter", sans-serif',
    'vibe-coders':          'OpenDyslexic, "JetBrains Mono", "Inter", sans-serif',
    'amebogist':            'OpenDyslexic, "Plus Jakarta Sans", sans-serif',
    'villagecircle':        '"Playfair Display", "Lora", Georgia, serif',
  } as Record<string, string>,

  cssVariable: '--font-body',

  dyslexiaSpacing: {
    letterSpacing: '0.12em',
    wordSpacing:   '0.25em',
    lineHeight:    '1.8',
  },

  googleFontImports: [
    'https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;700;800&display=swap',
    'https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lora:wght@400;600&display=swap',
    'https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap',
  ],
} as const;

export function getProductFont(slug: string): string {
  return BOLDMIND_FONT_CONFIG.overrides[slug] ?? BOLDMIND_FONT_CONFIG.default;
}

export function generateFontCSS(slug: string): string {
  const font = getProductFont(slug);
  const { letterSpacing, wordSpacing, lineHeight } = BOLDMIND_FONT_CONFIG.dyslexiaSpacing;
  const isVillageCircle = slug === 'villagecircle';
  return `
    :root { ${BOLDMIND_FONT_CONFIG.cssVariable}: ${font}; }
    body, * { font-family: var(${BOLDMIND_FONT_CONFIG.cssVariable}); }
    ${!isVillageCircle ? `body {
      letter-spacing: ${letterSpacing};
      word-spacing: ${wordSpacing};
      line-height: ${lineHeight};
    }` : ''}
  `.trim();
}

2.3 โ€” Reusable Card Layout Templates (1080ร—1080px)

Card A: Boldmind Hub SSO Launch Card

๐Ÿš€
One Login. Every Tool.
BoldmindNG Hub
โšก
PlanAI
13 AI Business Tools
๐Ÿ“ฐ
AmeboGist NG
#1 Pidgin Media
๐ŸŽ“
EduCenter
JAMB ยท WAEC ยท Skills
๐ŸŒฑ
VillageCircle
Philosophy Hub
boldmind.ng โ€” Start Free
BoldmindNG

Card B: AmeboGist NG Pidgin News Card

๐Ÿ”ฅ BREAKING GIST
June 26, 2026 โ€ข 8:00 AM
"Naija Tech Sector Don Blow Pass Oil!" โ€” See Wetin Happen for Silicon Lagos
E choke! Nigerian tech startups don raise over $400M dis year alone, and e no go stop dere. Plenty founders wey start from nothing don dey shine now โ€” no be today o...
#NaijaTech #StartupNG #SiliconLagos
Part 3
Social Media Manager App Integration
Brand Kit interface, Tone Engine, Canvas automation, and Metrics tracker

3.1 โ€” Brand Kit Workspace Interface

// types/brandKit.ts
export interface BrandKit {
  workspaceId:      string;
  organizationName: string;
  productSlug:      string;
  domain:           string;
  primaryColor:     string;
  secondaryColor:   string;
  accentColor:      string;
  backgroundColor:  string;
  logoUrl:          string;
  iconUrl:          string;
  fontBody:         string;
  fontHeading:      string;
  tone:             BrandTone;
  gradients: {
    primary:    [string, string];
    background: [string, string];
  };
  socialAccounts: ConnectedSocialAccount[];
  targetAudience: {
    regions:    string[];
    ageRange:   [number, number];
    languages:  ('en' | 'pidgin' | 'yoruba' | 'igbo' | 'hausa')[];
    interests:  string[];
  };
  contentPillars: ContentPillar[];
  brandVoice:     string;
  createdAt:      string;
  updatedAt:      string;
}

export type BrandTone =
  | 'pidgin-viral'
  | 'professional-b2b'
  | 'philosophical-prose'
  | 'tech-builder'
  | 'educational-friendly'
  | 'corporate-authority'

export interface ConnectedSocialAccount {
  platform:     'instagram' | 'tiktok' | 'twitter' | 'facebook' | 'linkedin' | 'youtube' | 'whatsapp' | 'threads';
  handle:       string;
  accessToken:  string;
  tokenExpiry:  string;
  pageId?:      string;
  followerCount:number;
  isActive:     boolean;
}

export interface ContentPillar {
  id:              string;
  name:            string;
  percentage:      number;
  description:     string;
  exampleCaptions: string[];
}

3.2 โ€” Reference Account Tone Engine

// engines/toneEngine.ts
export const REFERENCE_TONE_MAP: Record<BrandTone, { ... }> = {
  'pidgin-viral': {
    handle:       '@amebogistng',
    platform:     'TikTok / Twitter / WhatsApp',
    description:  'Fast, irreverent Pidgin English; viral hooks; emotion-first; colloquial.',
    voice:        'Write as a Lagos market man who also reads TechCrunch. Bold, funny, relatable.',
    doList: [
      'Open every caption with a punchy Pidgin hook ("E choke!", "No be today!")',
      'Use trending Nigerian slang naturally (Sapa, Godwin, Japa, Carry-go)',
      'Keep sentences short โ€” max 12 words per line',
      'End with a question or call to comment',
    ],
    dontList: [
      'Never use formal corporate English',
      'Avoid passive voice โ€” active + direct always',
      'Never write long paragraphs โ€” break into 2-line stanzas',
    ],
    sampleOpener: 'E choke! See wetin [SUBJECT] just do โ€” nobody gree believe am at first...',
  },

  'professional-b2b': {
    handle:      '@planaibyboldmind',
    platform:    'LinkedIn / Twitter',
    description: 'Crisp, authoritative, data-first B2B tone. Result-oriented, trust-building.',
    voice:       'Write as a seasoned Nigerian business consultant who ships product.',
    doList: [
      'Lead with the business result or stat first',
      'Use clear structure: Problem โ†’ Solution โ†’ Proof',
      'Name the specific Nigerian pain point being solved',
      'Include a soft CTA at the end',
    ],
    sampleOpener: '73% of Nigerian SME owners spend 4+ hours weekly on tasks AI now handles in 12 minutes.',
  },

  'philosophical-prose': {
    handle:      '@villagecircleng',
    description: 'Achebe-inflected, lyrical, unhurried. Builds meaning before revelation.',
    voice:       'Write as Chinua Achebe if he launched software companies. Deliberate. Dense with meaning.',
    doList: [
      'Open with a scene, proverb, or observation โ€” never with a product name',
      'Build slowly to the concept or product teaser',
      'Write in long-form prose (150โ€“300 words for a drop)',
    ],
    dontList: [
      'Never start with a product name or feature list',
      'Avoid bullet points โ€” flowing paragraphs only',
      'Never use hype language ("game-changing", "revolutionary")',
    ],
    sampleOpener: 'When the elders spoke of the river, they were not talking about water...',
  },

  // ... 'tech-builder', 'educational-friendly', 'corporate-authority' follow same pattern
};

export function composeSystemPrompt(kit: BrandKit, platform: string, postType: string): string {
  const tone = REFERENCE_TONE_MAP[kit.tone];
  return `
You are a world-class social media copywriter for ${kit.organizationName}.
TONE: ${tone.description}
VOICE: ${tone.voice}
Platform: ${platform} | Post Type: ${postType}
Generate one high-conversion caption. Output only the caption.
  `.trim();
}

3.3 โ€” Automated Asset Compilation Pipeline

Step 1: Image Gen
Send creative brief to fal.ai/FLUX API โ†’ returns 1080ร—1080px raw image via Cloudflare R2 URL.
Step 2: Canvas Init
node-canvas loads the R2 image, sets 1080ร—1080px canvas. Google Fonts loaded via canvas.registerFont().
Step 3: Gradient
Draw radial gradient overlay at 40% opacity using product primary/secondary colors at 135ยฐ angle.
Step 4: Border Tint
Stroke a 4px inset rect at rgba(255,255,255,0.12) for card depth.
Step 5: Logo
Load transparent white SVG logo from R2 โ†’ draw centered at 38% canvas width.
Step 6: Typography
Plus Jakarta Sans Bold 700 โ€” product name bottom-left (34px). Tagline bottom-right (14px, 70% opacity).
Step 7: Noise
Overlay SVG grain texture at 4% globalAlpha for premium feel.
Step 8: Export
canvas.toBuffer('image/png') โ†’ upload to Cloudflare R2 โ†’ return CDN URL to scheduler queue.

3.4 โ€” Social Account Metrics Tracker Interface

// types/metrics.ts
export interface SocialAccountMetrics {
  accountId:     string;
  workspaceId:   string;
  productSlug:   string;
  platform:      string;
  handle:        string;
  measuredAt:    string;

  // Growth
  followerCount:     number;
  followerGrowth7d:  number;
  followerGrowth30d: number;
  followingCount:    number;

  // Engagement
  impressions7d:  number;
  reach7d:        number;
  engagementRate: number;
  avgLikes7d:     number;
  avgComments7d:  number;
  avgShares7d:    number;
  avgSaves7d:     number;

  // Publishing
  postsPublished7d:   number;
  bestPerformingPost: {
    postId:       string;
    platform:     string;
    impressions:  number;
    engagements:  number;
    postedAt:     string;
    thumbnailUrl: string;
  };

  // Ecosystem Referral Goals
  clicksToEcosystem:    number;
  ecosystemConversions: number;
  referralRevenue:      number;

  // DM/Comment Automation
  dmResponseRate:     number;
  leadsFromDMs:       number;
  appointmentsBooked: number;

  // WhatsApp Channel (optional)
  broadcastSubscribers?: number;
  broadcastOpenRate?:    number;
  broadcastClickRate?:   number;
}
Part 4
Database Schema & Queue Infrastructure
Prisma schema, BullMQ job queue, n8n automation, and webhook dispatch

4.1 โ€” Prisma Schema (Postgres-Compatible)

// prisma/schema.prisma
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider  = "postgresql"
  url       = env("DATABASE_URL")
  directUrl = env("DIRECT_URL")
}

model Workspace {
  id             String          @id @default(cuid())
  name           String
  productSlug    String
  domain         String
  ownerId        String
  plan           WorkspacePlan   @default(STARTER)
  isActive       Boolean         @default(true)
  brandKit       BrandKit?
  socialAccounts SocialAccount[]
  scheduledPosts SocialPost[]
  campaigns      Campaign[]
  metrics        SocialMetrics[]
  createdAt      DateTime        @default(now())
  updatedAt      DateTime        @updatedAt
  @@index([productSlug])
  @@index([ownerId])
}

enum WorkspacePlan { FREE STARTER PRO AGENCY }

model BrandKit {
  id              String    @id @default(cuid())
  workspaceId     String    @unique
  workspace       Workspace @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
  primaryColor    String
  secondaryColor  String
  accentColor     String
  backgroundColor String
  logoUrl         String?
  iconUrl         String?
  fontBody        String    @default("OpenDyslexic, sans-serif")
  fontHeading     String    @default("OpenDyslexic, 'Plus Jakarta Sans', sans-serif")
  tone            BrandTone @default(PROFESSIONAL_B2B)
  brandVoice      String?   @db.Text
  targetRegions   String[]  @default([])
  targetAgeMin    Int       @default(18)
  targetAgeMax    Int       @default(45)
  targetLanguages String[]  @default(["en"])
  contentPillars  Json      @default("[]")
  gradients       Json      @default("{}")
  createdAt       DateTime  @default(now())
  updatedAt       DateTime  @updatedAt
}

enum BrandTone {
  PIDGIN_VIRAL PROFESSIONAL_B2B PHILOSOPHICAL_PROSE
  TECH_BUILDER EDUCATIONAL_FRIENDLY CORPORATE_AUTHORITY
}

model SocialAccount {
  id            String     @id @default(cuid())
  workspaceId   String
  workspace     Workspace  @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
  platform      Platform
  handle        String
  displayName   String?
  profileUrl    String?
  accessToken   String
  refreshToken  String?
  tokenExpiry   DateTime?
  pageId        String?
  followerCount Int        @default(0)
  isActive      Boolean    @default(true)
  posts         SocialPost[]
  metrics       SocialMetrics[]
  createdAt     DateTime   @default(now())
  updatedAt     DateTime   @updatedAt
  @@unique([workspaceId, platform])
  @@index([platform])
}

enum Platform {
  INSTAGRAM TIKTOK TWITTER FACEBOOK LINKEDIN YOUTUBE WHATSAPP THREADS BLUESKY
}

model SocialPost {
  id              String         @id @default(cuid())
  workspaceId     String
  workspace       Workspace      @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
  socialAccountId String?
  socialAccount   SocialAccount? @relation(fields: [socialAccountId], references: [id])
  campaignId      String?
  campaign        Campaign?      @relation(fields: [campaignId], references: [id])
  caption         String         @db.Text
  hashtags        String[]       @default([])
  mediaUrls       String[]       @default([])
  mediaType       MediaType      @default(IMAGE)
  platform        Platform
  status          PostStatus     @default(DRAFT)
  scheduledAt     DateTime?
  publishedAt     DateTime?
  externalPostId  String?
  bullJobId       String?
  impressions     Int?
  engagements     Int?
  clicks          Int?
  clicksToEcosystem Int?         @default(0)
  aiGenerated     Boolean        @default(false)
  error           String?
  createdAt       DateTime       @default(now())
  updatedAt       DateTime       @updatedAt
  @@index([workspaceId, status])
  @@index([scheduledAt])
  @@index([platform, status])
}

enum PostStatus  { DRAFT SCHEDULED PUBLISHING PUBLISHED FAILED CANCELLED }
enum MediaType   { IMAGE VIDEO CAROUSEL REEL STORY TEXT_ONLY }

model Campaign {
  id               String      @id @default(cuid())
  workspaceId      String
  workspace        Workspace   @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
  name             String
  objective        String
  startDate        DateTime
  endDate          DateTime?
  budget           Float?
  isActive         Boolean     @default(true)
  posts            SocialPost[]
  totalImpressions Int         @default(0)
  totalEngagements Int         @default(0)
  conversions      Int         @default(0)
  referralRevenue  Float       @default(0)
  createdAt        DateTime    @default(now())
  updatedAt        DateTime    @updatedAt
}

model SocialMetrics {
  id                   String        @id @default(cuid())
  workspaceId          String
  workspace            Workspace     @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
  socialAccountId      String
  socialAccount        SocialAccount @relation(fields: [socialAccountId], references: [id])
  measuredAt           DateTime      @default(now())
  followerCount        Int           @default(0)
  followerGrowth7d     Int           @default(0)
  impressions7d        Int           @default(0)
  reach7d              Int           @default(0)
  engagementRate       Float         @default(0)
  clicksToEcosystem    Int           @default(0)
  ecosystemConversions Int           @default(0)
  referralRevenue      Float         @default(0)
  dmResponseRate       Float         @default(0)
  leadsFromDMs         Int           @default(0)
  @@index([workspaceId, measuredAt])
  @@index([socialAccountId])
}

4.2 โ€” Automation Workflow Architecture

โ•”โ•โ• BoldmindNG Social Automation Pipeline โ•โ•โ•—
โ‘  TRIGGER LAYER User schedules post via Next.js UI โ†’ POST /api/social/schedule โ†“ โ‘ก VALIDATION LAYER (NestJS) Validate workspace plan โ†’ check token expiry โ†’ validate media URLs โ†“ โ‘ข ASSET GENERATION (if AI mode) POST fal.ai/FLUX โ†’ raw image โ†’ R2 upload โ†’ node-canvas overlay โ†’ R2 CDN URL โ†“ โ‘ฃ QUEUE INJECTION (BullMQ + Redis) bull.add('publish-social', {postId, platform, scheduledAt}, {delay: ms until scheduledAt}) Queues: social-publish (priority 1) | ai-generate (priority 2) | metrics-sync (priority 3) โ†“ โ‘ค JOB PROCESSOR (BullMQ Worker) At scheduledAt: dequeue job โ†’ call platform API (Meta/TikTok/LinkedIn/X) Retry logic: 3 attempts, exponential backoff (30s, 2m, 10m) โ†“ โ‘ฅ WEBHOOK DISPATCH (n8n self-hosted) On success: n8n workflow โ†’ update DB (status=PUBLISHED, externalPostId) โ†’ Slack alert to workspace owner โ†’ trigger metrics-sync job (24h delay) On failure: n8n workflow โ†’ update DB (status=FAILED, error) โ†’ WhatsApp alert to user โ†’ Dead Letter Queue entry โ†“ โ‘ฆ METRICS HARVEST (Cron โ€” every 24h) BullMQ cron job โ†’ call platform Insights APIs โ†’ upsert SocialMetrics table โ†’ compute clicksToEcosystem (UTM param matching) โ†’ n8n โ†’ weekly digest email to workspace owner
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
Part 5
Multichannel Strategy: WhatsApp & Gated Groups
Ecosystem chat flows, vertical video safe zones, and ConceptNode model

5.1 โ€” Ecosystem Chat Flow Diagram

โ•”โ•โ• BoldmindNG WhatsApp Ecosystem Traffic Flow โ•โ•โ•—
๐Ÿ“ฐ AmeboGist NG WhatsApp BROADCAST CHANNEL โ† Awareness (top of funnel) โ”‚ New content drops 4โ€“6ร—/day โ”‚ Viral Pidgin gist โ†’ drive 12k+ subscribers โ”‚ โ”œโ”€โ”€โ†’ ๐Ÿ“š EduCenter WhatsApp (Student Prep Community) โ”‚ Triggered by: "JAMB" keyword in AmeboGist posts / exam countdown CTA โ”‚ Content: Daily question of the day, JAMB countdown, scholarship alerts โ”‚ Gate: Free to join โ†’ โ‚ฆ2.5k/month to unlock CBT access โ”‚ โ”œโ”€โ”€โ†’ ๐ŸŒฑ VillageCircle NG Philosophy Community โ”‚ Triggered by: Daily drop links from AmeboGist โ†’ concept teasers โ”‚ Content: 8:30 AM daily drops, concept incubator updates, waitlists โ”‚ Gate: Open community โ†’ โ‚ฆ5k/month Elder tier โ”‚ โ”œโ”€โ”€โ†’ โšก Vibe-Coders Facebook Group โ”‚ Triggered by: VillageCircle concept โ†’ "interested in building this?" CTA โ”‚ Content: Build-in-public logs, Cursor sessions, cohort enrollment โ”‚ Gate: Facebook Group (open) โ†’ Cohort enrollment โ‚ฆ45kโ€“โ‚ฆ65k โ”‚ โ””โ”€โ”€โ†’ โšก PlanAI WhatsApp (Business Billing Channel) Triggered by: AmeboGist "SME tip" posts / EduCenter Business Playbook graduation Content: Tool demos, success stories, upgrade nudges, support Gate: Free broadcast โ†’ โ‚ฆ9.5k/month Starter plan CTA ROUTING RULES: AmeboGist keyword "JAMB/WAEC/exam" โ†’ EduCenter CTA AmeboGist keyword "business/startup" โ†’ PlanAI CTA VillageCircle waitlist hit 100 โ†’ Vibe-Coders group invite push EduCenter Business Playbook completion โ†’ PlanAI upgrade nudge (automated via n8n)
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

5.2 โ€” Vertical Video Safe Zones (9:16 โ€” 1080ร—1920px)

โš ๏ธ 380px DEAD ZONE
โœ… SAFE ZONE
1080ร—1160px
โš ๏ธ 380px DEAD ZONE
Zone Pixels Notes
Total Frame 1080ร—1920px Full canvas size
Top Dead Zone 0โ€“380px from top Platform UI โ€” NO text/logo here
Safe Content Area 380pxโ€“1540px All text, graphics, CTAs go here
Bottom Dead Zone 1540pxโ€“1920px Platform like/share buttons โ€” avoid key visuals
Center focal 940px from top Logo/icon sweet spot
Caption zone (in-video) 1400pxโ€“1520px Text overlay caption band
Brand lockup 1460pxโ€“1520px Bottom of safe zone โ€” always bottom-left

These margins apply equally to YouTube Shorts. Always export at 1080ร—1920px, 30fps minimum, H.264, <100MB per clip.

5.3 โ€” VillageCircle ConceptNode React Model

// components/villagecircle/ConceptNode.tsx
export type ConceptStatus = 'seed' | 'growing' | 'building' | 'graduating';

export type RiverTaxonomy =
  | 'religion-culture'
  | 'history'
  | 'economic-liberation'
  | 'technology-leap'
  | 'pan-african-governance';

export interface ConceptNode {
  id:           string;
  slug:         string;
  title:        string;
  tagline:      string;
  river:        RiverTaxonomy;
  status:       ConceptStatus;
  waitlistCount: number;
  waitlistGoal:  number;
  audioDropUrl?: string;
  storyUrl:     string;
  graduationTarget?: {
    domain:          string;
    pillar:          EcosystemPillar;
    estimatedLaunch: string;
  };
  icon:             string;
  primaryColor:     string;
  publishedAt:      string;
  lastDropAt?:      string;
  relatedConcepts:  string[];
}

export const RIVER_LABELS: Record<RiverTaxonomy, { label: string; color: string; emoji: string }> = {
  'religion-culture':       { label:'Religion & Culture',      color:'#7E22CE', emoji:'๐Ÿ•ฏ๏ธ' },
  'history':                { label:'History',                  color:'#92400E', emoji:'๐Ÿ“œ' },
  'economic-liberation':    { label:'Economic Liberation',      color:'#065F46', emoji:'๐Ÿ’ฐ' },
  'technology-leap':        { label:'Technology Leap',          color:'#1E40AF', emoji:'โšก' },
  'pan-african-governance': { label:'Pan-African Governance',   color:'#9F1239', emoji:'๐ŸŒ' },
};

// Sample Concept Nodes
export const SAMPLE_CONCEPT_NODES: ConceptNode[] = [
  {
    id:'prod_019', slug:'kolo-ai', icon:'๐Ÿช™',
    title:'KoloAI', tagline:'The Ajo of tomorrow โ€” where community savings meet AI foresight.',
    river:'economic-liberation', status:'seed',
    waitlistCount:0, waitlistGoal:500,
    storyUrl:'https://villagecircle.ng/kolo',
    primaryColor:'#064E3B',
    graduationTarget:{ domain:'boldmind.ng', pillar:'enablement', estimatedLaunch:'Q4 2026' },
    relatedConcepts:['naija-cred','receipt-genius'], publishedAt:'2026-04-01',
  },
  {
    id:'prod_022', slug:'power-alert', icon:'โšก',
    title:'PowerAlert NG', tagline:'When light enter, every Nigerian deserves to know first.',
    river:'technology-leap', status:'growing',
    waitlistCount:237, waitlistGoal:1000,
    storyUrl:'https://villagecircle.ng/power',
    primaryColor:'#B45309',
    graduationTarget:{ domain:'boldmind.ng', pillar:'enablement', estimatedLaunch:'Q4 2026' },
    relatedConcepts:['naija-water','naija-estate'], publishedAt:'2026-03-15',
  },
  {
    id:'prod_016', slug:'safe-ai', icon:'๐Ÿ›ก๏ธ',
    title:'SAFE AI', tagline:"The day a police officer's pen gave way to intelligence.",
    river:'pan-african-governance', status:'seed',
    waitlistCount:0, waitlistGoal:100,
    storyUrl:'https://villagecircle.ng/safe',
    primaryColor:'#1E293B',
    graduationTarget:{ domain:'boldmind.ng', pillar:'enablement', estimatedLaunch:'Q1 2027' },
    relatedConcepts:['civic-naija','trustscore-ng'], publishedAt:'2026-02-10',
  },
];
Part 6
Programmatic Ads Center Engine
AdCopyGenerator class, funnel layers, and West African deployment playbook

6.1 โ€” Ad Copy Generator (TypeScript Class)

// engines/AdCopyGenerator.ts
export type AdPlatform = 'meta' | 'google' | 'linkedin' | 'tiktok';
export type FunnelLayer = 'awareness' | 'conviction' | 'education' | 'enablement' | 'fundraising';

export interface AdCopyPayload {
  platform:       AdPlatform;
  funnelLayer:    FunnelLayer;
  headline:       string;
  headline2?:     string;
  description:    string;
  primaryText?:   string;
  callToAction:   string;
  landingUrl:     string;
  utmParams:      Record<string, string>;
  targetAudience: AdAudience;
  creative: {
    format:      'single_image' | 'carousel' | 'video' | 'story' | 'search_text';
    aspectRatio: string;
  };
}

export interface AdAudience {
  countries:   string[];
  states:      string[];
  lgas?:       string[];
  ageMin:      number;
  ageMax:      number;
  languages:   string[];
  interests:   string[];
  behaviors?:  string[];
  lookalike?:  { sourceAudience: string; similarity: number };
  retargeting?:{ source: string; daysWindow: number };
}

export class AdCopyGenerator {
  private kit: BrandKit;
  constructor(kit: BrandKit) { this.kit = kit; }

  generate(platform: AdPlatform, layer: FunnelLayer): AdCopyPayload {
    const templates = AD_TEMPLATES[this.kit.productSlug]?.[layer] ?? FALLBACK_TEMPLATES[layer];
    const audience  = AUDIENCE_CONFIGS[layer];
    const utmParams = {
      utm_source:   platform,
      utm_medium:   'paid_social',
      utm_campaign: `${this.kit.productSlug}_${layer}`,
      utm_content:  `${platform}_${new Date().toISOString().split('T')[0]}`,
    };
    return {
      platform, funnelLayer: layer,
      headline:     templates.headline,
      headline2:    templates.headline2,
      description:  templates.description,
      primaryText:  templates.primaryText,
      callToAction: CTA_MAP[layer],
      landingUrl:   `https://${this.kit.domain}${LANDING_PATHS[layer]}`,
      utmParams,
      targetAudience: { ...audience, ...this.overrideAudience(layer) },
      creative: {
        format:      platform === 'tiktok' ? 'video' : platform === 'google' ? 'search_text' : 'single_image',
        aspectRatio: platform === 'tiktok' ? '9:16' : '1:1',
      },
    };
  }

  generateAll(layer: FunnelLayer): AdCopyPayload[] {
    return (['meta','google','linkedin','tiktok'] as AdPlatform[]).map(p => this.generate(p, layer));
  }
}

// PlanAI ad templates (excerpt)
const AD_TEMPLATES = {
  planai: {
    awareness:   { headline:'13 AI Tools. 1 Nigerian Price.', description:'Social, Ads, Brand, CRM & more.',
                   primaryText:'Most Nigerian business owners manage 5+ tools manually. PlanAI replaces them all for โ‚ฆ9.5k/month.' },
    enablement:  { headline:'Run Your Business with AI โšก', description:'Nigerian-built. Start free.',
                   primaryText:'Start your 14-day free trial. No credit card. Cancel anytime.' },
    fundraising: { headline:'โ‚ฆ1.97M MRR. 17,000 Users.', description:'Nigeria\'s integrated AI ecosystem.',
                   primaryText:'BoldmindNG spans 4 pillars and 35+ products. We are raising our seed round.' },
  },
  amebogist: {
    awareness: { headline:'Naija Gist in Pidgin ๐Ÿ“ฐ', description:'Tech, Sports, Politics. 12k+ readers.',
                 primaryText:'The news site wey dey talk how Nigerians really talk. No dulling.' },
  },
  educenter: {
    awareness: { headline:'JAMB 2026 โ€” Start Preparing Now', description:'10,000+ past questions. AI tutor.',
                 primaryText:'Only 47 days to JAMB. Students who practice score 30 points higher on average.' },
    education: { headline:'Pass JAMB in 47 Days โœ…', description:'AI tutor + 10k questions + CBT. โ‚ฆ2.5k/month.',
                 primaryText:'Join 3,000 students already using Boldmind EduCenter.' },
  },
};

6.2 โ€” Ad Deployment Operational Playbook

Funnel Layer Platform Target States Age Range Budget Allocation Best Time to Run Key Metric
Awareness Meta (IG + FB) All 6 South-West states + FCT + Rivers 18โ€“35 30% of budget Weekdays 7โ€“9AM & 6โ€“9PM WAT CPM < โ‚ฆ3,500
Awareness TikTok Lagos, Abuja, Oyo 18โ€“28 15% of budget Daily 5โ€“8PM WAT Video View Rate > 25%
Conviction Meta (IG Stories) Lagos, Abuja โ€” diaspora (UK/US/CA) 25โ€“50 10% of budget Weekdays 8โ€“10AM WAT Link CTR > 1.5%
Education Meta + Google All Southern states + Kano + Kaduna 15โ€“28 20% of budget Monโ€“Sat 6โ€“8AM & 2โ€“4PM WAT Cost per Lead < โ‚ฆ800
Enablement Meta + LinkedIn Lagos, Abuja, Port Harcourt, Oyo 25โ€“45 20% of budget Weekdays 8AMโ€“6PM WAT Cost per Trial < โ‚ฆ2,500
Fundraising LinkedIn only Global โ€” Lagos + London + SF diaspora 30โ€“60 5% of budget Tueโ€“Thu 9AMโ€“12PM WAT InMail Open > 35%

Nigerian LGA hyper-targeting (Meta only): For PlanAI enablement campaigns, narrow to Lagos Mainland, Lagos Island, Ikeja, Victoria Island, Lekki, Surulere (Lagos); Garki, Maitama, Wuse, Asokoro (Abuja); GRA, Diobu, Rumuola (Port Harcourt). These LGAs contain the highest concentration of registered SMEs per the CAC registry and have 4G penetration above 78%.

Part 7
Standalone Social Media Playbook
Weekly calendar, 20-caption library, and hashtag strategy matrix

7.1 โ€” Weekly Posting Calendar (Monโ€“Sun)

Day Theme BoldmindNG Hub AmeboGist NG EduCenter VillageCircle PlanAI
Monday Motivation + Launch Ecosystem stats / week ahead Tech/AI gist round-up Monday motivation + study tip 8:30AM daily drop Tool tip carousel
Tuesday Education + Build Builder spotlight Creator entrepreneurship Past question preview Concept tease Feature demo video
Wednesday Social Proof User testimonial Nigeria politics analysis Student success story Proverb post Case study thread
Thursday Community + Engagement Question-of-the-week post Sports coverage JAMB countdown card River deep-dive DM automation tip
Friday Viral + Entertainment Ecosystem meme / fun post Entertainment gist Friday study challenge Audio drop clip SME win of the week
Saturday Long-form / Educational Founder story (long-form) Weekend gist roundup Full past question walkthrough Concept incubator reveal Business playbook excerpt
Sunday Rest / Conviction Ecosystem week recap Sunday inspiration + gist Exam week preview Deep philosophy drop PlanAI week preview

7.2 โ€” 20 High-Conversion Caption Formulas (West African Audience)

#1The Problem Opener

Sapa no be ordinary thing. When you dey hustle anyhow but still no see result โ€” na [PRODUCT] dem use take solve am. Link for bio.

#2The Godwin Reverse

Godwin dey favor you today! We just drop [FEATURE] inside [PRODUCT] and e dey free for all users. No be juju โ€” e be technology.

#3Japa Aspirational

You wan japa? Oya start by securing your bag first. [PRODUCT] don help [X] Nigerians generate income from their phone. Your turn.

#4E Choke Reveal

E CHOKE! We just hit [MILESTONE] โ€” we never expected this to happen so fast. This is what happens when Naija builders refuse to give up.

#5No Shaking Motivator

Economy hard, NEPA no give light, data dey finish โ€” but no shaking. [PRODUCT] works offline too. We built it for real Nigerian conditions.

#6No be today Confidence

No be today we start this thing. [X] months of coding, testing, crying, rebuilding โ€” and today we finally launched [PRODUCT]. Carry go.

#7Interactive Question Loop

Quick question before you scroll: How many hours do you waste on [PAIN POINT] every week? Drop the number below ๐Ÿ‘‡ We built something for you.

#8Social Proof Pyramid

3,000 students. 650 businesses. 12,000 readers. All inside the BoldmindNG ecosystem. Which one are you joining today? ๐Ÿš€

#9Countdown Urgency

47 days to JAMB. If you start practicing today with EduCenter โ€” that's 47 days of AI tutoring, 10k+ questions, and CBT simulation. You fit do am.

#10Founder Confession

True story: We almost gave up in Month 4. Money finish, team dey drain. But we carried go. Today [PRODUCT] is serving [X] users. No shaking was the only strategy.

#11Pidgin Wisdom Hook

My mama always say: 'If you know wetin you want, road go clear.' [PRODUCT] is that road for your [USE CASE]. Link for bio โ€” see for yourself.

#12Before/After Contrast

Before [PRODUCT]: 4 tools, 3 spreadsheets, 2 freelancers, 1 headache. After [PRODUCT]: everything in one dashboard. That na value.

#13Comment Trigger Loop

If you dey Lagos and you run a business โ€” comment 'LAGOS' below. We go drop a free resource specifically for Lagos entrepreneurs this week. ๐Ÿ‘‡

#14Breaking News Format

๐Ÿ”ด BREAKING: [PRODUCT] just launched [FEATURE]. Early users are already saying it changed how they do [TASK]. We no go lie to you โ€” try am.

#15The Elder's Proverb

VillageCircle drops today: 'A river does not brag about the distance it has traveled โ€” it simply arrives at the sea.' Today's concept: [CONCEPT NAME].

#16FOMO Scarcity

We only have 50 spots left in the Vibe Coders Q3 cohort. After that, next intake is Q4 2026. If you're serious about building with AI โ€” this is your window.

#17Build in Public Telemetry

Week 4 Vibe Coders update: 12 students shipped. 3 have waitlists. 1 already has a paying user. Stack: Next.js 15 + Supabase + Cursor AI. No theory โ€” just build.

#18Ecosystem Bridge

Read AmeboGist NG this morning? The story about Nigerian tech? The solution to what that story described lives at PlanAI. Come see. Link for bio.

#19Pain Relief Direct

You no dey sleep because customer service dey stress you? PlanAI Social Manager dey handle your Instagram DMs and WhatsApp 24/7. You go sleep well tonight.

#20Heritage Respect Close

We are Nigerians โ€” we have survived worse. This economy will not stop us. [PRODUCT] was built for people who refuse to fold. Come build with us.

7.3 โ€” Hashtag Strategy Matrix

Platform Max Tags Strategy Tier 1 (High-Volume) Tier 2 (Niche) Tier 3 (Brand)
Instagram 5โ€“10 (body) + 20 (comment) Mix: 3 mega + 4 mid + 3 niche #Nigeria #Business #Entrepreneur #NaijaStartup #DigitalNigeria #BoldmindNG #PlanAI
TikTok 3โ€“5 only Trending first, brand last #Nigeria #NaijaTech #NigerianCreator #AmeboGistNG
Twitter/X 1โ€“2 max One trending hashtag only #NigerianTech (if trending) โ€” #BoldmindNG or #PlanAI
LinkedIn 3โ€“5 Professional, searchable only #Nigeria #Business #Startups #AfricanTech #Entrepreneurship #BoldmindNG
YouTube (tags) 10โ€“15 (hidden) Mix volume tiers โ€” all relevant Nigeria, Nigerian Business, AI PlanAI, EduCenter Nigeria BoldmindNG
Facebook 0โ€“3 Hashtags rarely help โ€” brand only โ€” โ€” #BoldmindNG
TikTok (sounds) N/A Always pair with trending Nigerian audio โ€” โ€” โ€”

7.4 โ€” Hashtag Directories by Channel

Nigeria Business
#NigerianEntrepreneur#MadeInNigeria#NaijaBusiness#SMENigeria#NigerianFounder#NaijaStartup#BusinessNigeria#NigerianMSME
Tech & AI
#NigerianTech#AfricanTech#AIAfrica#TechAfrica#NigeriaDigital#BoldmindNG#TechNaija#DigitalNigeria
Education
#JAMB2026#WAECNigeria#NigerianStudents#EduTechNigeria#NaijaStudent#BoldmindEduCenter#ExamPrep#NigerianEducation
Creator / Media
#AmeboGistNG#NaijaPidgin#PidginNews#NigeriaContent#ContentNigeria#NaijaCreator#NigerianMedia#CreatorEconomy
PlanAI
#PlanAI#PlanAING#AIForBusiness#NigerianAI#AutomationNigeria#SocialMediaNigeria#DigitalMarketing
VillageCircle
#VillageCircleNG#AfricanPhilosophy#AfricanBuilder#NigerianPhilosophy#5Rivers#VillageCircle#AfricanWisdom
Part 8
Personal Creator Brand โ€” Identity
A standalone brand, distinct from BoldmindNG, that feeds the ecosystem rather than dilutes it

Your six interest areas (aliens/UFO phenomena, cybercrime, cosmic/space science, Nigerian myth & folklore, AI in business, and the neurodivergent builder story โ€” ADHD, dyslexia, the silent struggle of building while wired differently) don't share a single audience intent โ€” but they share one voice: a Nigerian storyteller who treats the unexplained (skies, scams, spirits, startups, and your own brain) with the same investigative curiosity. That's the brand wedge: "the strange, decoded."

YouTube Channel Name โ€” Decided

Channel name
Charl Decodes โ€” locked in. "Decode" covers all six pillars honestly: decoding UFO reports, decoding a scam, decoding a myth, decoding a business's AI stack, and decoding what your brain is actually doing when it's ADHD or dyslexic. One verb, six rooms.
Handle
@CharlDecodes across YouTube, X, and Medium. If taken anywhere, fallback is @CharlDecodesNG.
Tagline
"Nigeria's strangest stories โ€” decoded." / "Aliens, scams, spirits, startups, and the brains that build them โ€” one lens."
Positioning
Personal/creator brand, run from your own personal profiles โ€” NOT a BoldmindNG product page. Lives outside products.ts; it's the human halo around the ecosystem.
Visual system
Reuse BoldmindNG's dark-navy-to-void gradient (#1E293B โ†’ #0F172A, borrowed from the SAFE AI scheme) instead of the Hub's blue/gold โ€” signals "investigation," not "SaaS."
Font
Body: Plus Jakarta Sans. Cybercrime/AI/neurodivergent-builder pillar cards: JetBrains Mono (terminal feel). Myth/cosmic pillar cards: Lora/Playfair (VillageCircle-style prose feel).
Handle/trademark check still applies โ€” confirm @CharlDecodes is free on all six platforms before you print it anywhere.

8.2 โ€” Platform Setup & Bio Templates

Username โ€” Decided

Handle across all platforms
charlesuchijuka โ€” going with this one, not charleschijukau, because it already matches your live portfolio subdomain (charlesuchijuka.boldmind.ng) โ€” one consistent identity across your portfolio, brand manual, and every social platform. Check availability on each platform below before finalizing; if taken anywhere, charleschijukau is your fallback, not a second identity to run in parallel.
Content/show name
"Charl Decodes" stays as the name of the content series (used in your bio text and as your YouTube channel's display name) โ€” this is separate from your @charlesuchijuka handle, the same way a person's name and their show's name can differ.

Platform Setup Table โ€” with Real 2026 Character Limits

Platform Bio Field Hard Limit Role in Funnel Cadence
Facebook Intro (personal profile) 101 characters Nigerian mainstream distribution 2โ€“3 posts/week
X (Twitter) Bio 160 characters Real-time thread + discourse 1 thread/week + 3โ€“5 posts
Medium Bio 160 characters SEO + discovery, syndicated essay 1/week, 48h after Substack
Substack Short description 255 characters Owned audience, deepest text version 1/week, 24h after YouTube
LinkedIn Headline 220 characters (only ~70 shown on mobile/search โ€” front-load it) AI-in-Business pillar only 1โ€“2 posts/week
YouTube Channel "About" description 1,000 characters (only ~150 shown before "Show more" โ€” hook goes first) Flagship โ€” long-form investigation 1 long-form/week + 3 Shorts/week

These are the platforms' own 2026 published limits, not estimates โ€” verify with each platform's live counter before publishing, since emoji and special characters are sometimes counted as 2 characters instead of 1 (X and Facebook both do this).

Bio Templates โ€” Exact Character Counts

Each bio below is written for your existing personal profiles at @charlesuchijuka, first-person, and fitted to the real limit above โ€” with headroom, not padded to the max.

Facebook Intro 93 / 101 chars
I decode Nigeria's stories โ€” AI, cybercrime, myth, space, and building with ADHD. BoldmindNG.
X / Twitter Bio 137 / 160 chars
I decode Nigeria's stories: AI in business โšก cybercrime ๐Ÿ•ต๏ธ cosmos ๐Ÿช myth ๐ŸŒ™ neurodivergent founders ๐Ÿง  New one weekly. Founder, BoldmindNG.
Medium Bio 127 / 160 chars
Founder, BoldmindNG. I write about AI in Nigerian business, cybercrime, space, Nigerian myth, and building a company with ADHD.
Substack Short Description 242 / 255 chars
One Nigerian story a week, fully sourced: AI rebuilding local business, real cybercrime cases, space science explained, myths our grandparents swore were true, and the honest, undocumented struggle of building a company with ADHD or dyslexia.
LinkedIn Headline 189 / 220 chars
Founder, BoldmindNG ยท Building Nigeria's AI-powered business ecosystem (PlanAI, EduCenter, AmeboGist, VillageCircle) ยท Writing about AI in Nigerian business and building a company with ADHD
YouTube Channel "About" 720 / 1,000 chars
I decode the stories Nigeria doesn't talk about enough. Every week: how AI is quietly rebuilding Nigerian business, real cybercrime cases and how they were caught, the science behind what's actually out in space, the myths our grandparents swore were true, and the honest, undocumented side of building a business with ADHD or dyslexia. No hype. No clickbait. Just sourced, first-person investigation โ€” one story at a time. I'm also the founder of BoldmindNG, a Nigerian tech ecosystem spanning AI business tools (PlanAI), Pidgin media (AmeboGist NG), exam prep and courses (Boldmind EduCenter), and a philosophy/concept incubator (VillageCircle NG). New episode every week. Subscribe if any of this sounds like you.
Keep LinkedIn single-pillar (AI-in-business only). Mixing alien/myth content into a professional feed will tank reach and confuse the audience you actually want there โ€” future PlanAI customers and investors.

8.3 โ€” Content Pillar Engine

๐Ÿ‘ฝ
UFO / Alien Reports
Documented sightings, Nigerian and global, cross-checked against flight/weather data. Skeptical-but-open tone.
Bridges to โ†’ SAFE AI (VillageCircle concept)
๐Ÿ•ต๏ธ
Cybercrime
Real Nigerian scam/fraud case breakdowns โ€” how it worked, how it was caught, how to avoid it. Never a how-to.
Bridges to โ†’ SAFE AI / TrustScore NG
๐Ÿช
Cosmic / Space Science
Plain-English explainers on space missions, astrophysics, and what Nigeria's own space program (NASRDA) is doing.
Bridges to โ†’ EduCenter (STEM content)
๐ŸŒ™
Nigerian Myth & Folklore
Yoruba, Igbo, Hausa and other regional folklore, told with the same narrative discipline as VillageCircle's daily drops.
Bridges to โ†’ VillageCircle NG
โšก
AI in Business
Case studies of Nigerian SMEs using AI (often BoldmindNG customers) โ€” the direct commercial pillar.
Bridges to โ†’ PlanAI / BoldmindNG Hub
๐Ÿง 
Neurodivergent Builder โ€” The Silent Struggle
ADHD, dyslexia, and other neurodivergent stories of building a business โ€” the parts founders don't post about: missed deadlines, sensory overload, the systems that actually work.
Bridges to โ†’ Project Manager (focus mode, executive-function coach) / OpenDyslexic font system

6-Week Rotation

Week Pillar Format
Week 1 AI in Business Case study โ€” real BoldmindNG/PlanAI customer, โ‚ฆ results
Week 2 Neurodivergent Builder Personal essay/vlog โ€” one honest struggle + one system that fixed it
Week 3 Cybercrime Case breakdown โ€” anonymized, sourced from public court/news records only
Week 4 Nigerian Myth Narrative retelling + historical/cultural context
Week 5 UFO / Alien Reports Investigation โ€” sightings cross-checked against flight/weather data
Week 6 Cosmic / Space Science Explainer โ€” space missions, astrophysics, NASRDA's own programs

This 6-week cycle gives every pillar monthly-ish coverage without any single platform feeling scattered. Weeks 1 and 2 (AI-in-business, neurodivergent-builder) double as authentic BoldmindNG marketing โ€” they're the two most likely to convert a viewer into a PlanAI or Project Manager trial โ€” without the channel ever feeling like an ad.

8.4 โ€” Ecosystem Social Account Audit & New Account Suggestions

Fix First โ€” Existing Gaps

Product Issue Fix Priority
PlanAI WhatsApp is generic wa.me/234, not a full number Replace with real Business number (see ยง8.5) Medium
AmeboGist NG Instagram field empty; WhatsApp broadcast channel still pending per drive-setup.md Launch IG (highest-fit platform for Pidgin visual gist) + finish WhatsApp Channel setup High
Boldmind EduCenter WhatsApp generic link; Twitter/X missing entirely Add full WA number; X account not essential โ€” skip unless exam-season real-time Q&A demand appears Medium
BoldmindNG Hub Instagram field empty despite Hub being the cross-sell surface for every product Launch โ€” repost best clips from all four pillar accounts High
VillageCircle NG Instagram + Threads empty Threads fits VillageCircle's prose-driven tone better than most products โ€” prioritize Threads over Instagram here High
All products No Bluesky presence anywhere in products.ts social fields Low priority โ€” claim handles defensively, don't actively post until Bluesky's Nigerian userbase grows Low

New Accounts Worth Creating

New Account Reason
Vibe Coders โ€” dedicated Instagram/TikTok Currently only a Facebook Group; cohort demo-day clips and build-in-public content are inherently visual/short-form and underperform on FB alone
PlanAI โ€” dedicated YouTube 13 tools need individual demo videos; currently no video home for PlanAI product tours
BoldmindNG โ€” LinkedIn Newsletter (native) Cheapest way to reuse the creator brand's "AI in Business" pillar content as a recurring BoldmindNG-branded LinkedIn asset
EduCenter โ€” WhatsApp Channel (broadcast) Exam countdown alerts and daily-question broadcasts fit the Channel format better than a community group

8.5 โ€” WhatsApp Business Architecture

Line Type Owner / Product Job Catalog?
WA Business #1 WhatsApp Business App/API BoldmindNG Hub (ecosystem-wide) General support, onboarding, cross-sell entry point. This is the number that appears on boldmind.ng "Chat with us" and in the Hub's SSO welcome flow. No โ€” routes to the right product
WA Business #2 WhatsApp Business API (needed for automation/catalog) PlanAI Dedicated sales + demo line for the revenue-driving suite โ€” product catalog of the 13 tools, Paystack payment links, and automated OTP/notification traffic from packages/sms. Yes โ€” 13-tool catalog with pricing
WhatsApp Channel Broadcast-only (one-way) AmeboGist NG Daily gist headlines pushed to subscribers โ€” highest-volume, lowest-friction top-of-funnel channel. (Already flagged as "pending setup" in drive-setup.md โ€” finish this first.) No
Why split this way instead of one number per product: WhatsApp Business API access and Meta's per-conversation pricing make more than 2 API-tier lines expensive to maintain well. Hub (support) + PlanAI (sales, since it carries the OTP/notification volume from packages/sms) covers 90% of real usage; every other product routes through the Hub line and gets handed off.

Routing Rule (mirrors the ecosystem chat-flow diagram in Part 5.1 of the main manual)

Keyword-based handoff inside WA Business #1: messages containing "JAMB/WAEC/exam" โ†’ auto-reply with EduCenter link; "business/startup/AI tool" โ†’ route to PlanAI WA Business #2; everything else โ†’ human support queue.

8.6 โ€” Facebook Groups & Wider Community Architecture

Group Status Purpose Gate
Vibe Coders Developer Guild Existing Build-in-public logs, cohort updates, dev tips โ€” already live per current inventory Open, cohort-priority
BoldmindNG Founders & Builders Circle New โ€” recommended Maps directly to the Hub's existing "Founder circles & private groups" feature in products.ts โ€” gives that feature an actual home before the in-app version ships Approval-only, verified BoldmindNG account holders

Other Community Channels Worth Standing Up

Channel Platform Why this platform, not another group
Vibe Coders technical channel Discord Threaded code discussion, screen-share study sessions, and bot integrations (GitHub/CI notifications) work far better on Discord than Facebook โ€” migrate the technical half of Vibe Coders here, keep FB Group for announcements/demo-day
Live alerts (PowerAlert / NaijaPrice Watch concepts) Telegram channel Telegram bots handle high-frequency, low-friction pushes (light-availability, price changes) more cheaply than WhatsApp Business API conversation pricing
Investor / Enterprise relations LinkedIn Group (private) or curated email list Investor Readiness Suite and PolyMind enterprise leads need a quieter, professional-only space โ€” not a public group
Personal creator brand community Discord or a Substack "chat" thread, not a new Facebook Group Keeps the alien/cybercrime/myth audience separate from BoldmindNG's business audience while still being owned infrastructure, not rented reach

8.7 โ€” Podcast Setup

Show Identity

Show name
Charl Decodes (same brand as the YouTube channel โ€” one identity, two formats, easier for a solo operator to sustain)
Format
Audio-first extension of the weekly episode โ€” not a straight rip of the YouTube audio. Re-record a 5โ€“10 min unscripted intro riffing on the topic, then splice in the core narration, then close with an unscripted "what I actually think" segment. This is what makes people subscribe to the podcast in addition to watching the video.
Length
25โ€“40 minutes per episode โ€” long enough for a Lagos commute, short enough to finish in one sitting.
Cadence
Weekly, released 2 days after the YouTube video (gives the written Substack piece and the video first-mover audience, podcast catches the rest).

Distribution

Platform Role Notes
Spotify for Podcasters Primary host + RSS generator Free, handles distribution to every other app automatically, includes basic analytics
Apple Podcasts Secondary listen surface Auto-submitted via the Spotify-generated RSS feed โ€” no separate hosting needed
YouTube (Podcasts tab) Video-podcast hybrid Upload the raw audio-recording session (camera on, static frame) as a second video type โ€” YouTube's own podcast surface is growing fast in Nigeria
Audiomack Nigerian-audience reach Higher organic discovery among Nigerian listeners than Spotify alone โ€” worth the extra 10 minutes per episode to cross-post

Episode Template

Cold open (0:00โ€“0:30)
One line that states the strange fact or question at the center of the episode. No intro music yet.
Intro (0:30โ€“2:00)
Theme sting + "I'm Charl, and this week I'm decoding..." + which pillar this week belongs to.
Body (2:00โ€“30:00)
The investigation/story itself, same structure as the YouTube script.
"What I actually think" (30:00โ€“35:00)
Unscripted. This is the part that doesn't exist on YouTube โ€” the reason people subscribe to the audio version specifically.
Close
Where to find the written version (Substack) + one-line teaser for next week's pillar.

Guest Strategy

Reserve guests for the two commercial-adjacent pillars only, to keep production light for a solo operator: AI in Business weeks can feature a real PlanAI/BoldmindNG customer or a Vibe Coders mentor; Neurodivergent Builder weeks can feature other Nigerian founders who are open about ADHD/dyslexia. The other four pillars stay solo-narrated.

8.8 โ€” 30-Day Topic Generator Prompt

This prompt is written the same way the rest of the boldmind-prompt-hub library is structured โ€” attach context, state constraints, specify output format. Attach your current products.ts when you run it so the AI-in-Business and Neurodivergent-Builder weeks can reference real, current BoldmindNG products instead of inventing details.

You are a content strategist helping me plan one month of episodes for my personal creator brand "Charl Decodes."

CONTEXT:
- Six content pillars, rotating weekly: (1) AI in Business, (2) Neurodivergent Builder โ€” ADHD/dyslexia/the silent struggle of building a business, (3) Cybercrime, (4) Nigerian Myth & Folklore, (5) UFO/Alien Reports, (6) Cosmic/Space Science.
- Each episode ships as: 1 YouTube video (10-20 min) + 1 Substack essay + 1 podcast episode (25-40 min) + cut-downs for X, Facebook, Medium, and LinkedIn (LinkedIn only for AI-in-Business weeks).
- I am the founder of BoldmindNG, a Nigerian tech ecosystem (attached: products.ts). AI-in-Business episodes should reference REAL products/tools from products.ts โ€” do not invent BoldmindNG products or features that aren't in the file.
- Neurodivergent-Builder episodes should stay personal/narrative, not clinical โ€” real founder struggles and workarounds, not medical advice.
- Cybercrime episodes must only reference publicly documented/reported cases โ€” no instructions on how a scam technically works, only how it was recognized/stopped.
- Tone: investigative, first-person, Nigerian-specific, "the strange, decoded" โ€” never sensationalist, never clickbait-without-substance.

TASK:
Generate a 30-day (โ‰ˆ4.3 week) content calendar. For each week, output:
1. Pillar for the week
2. Specific episode topic/headline (not generic โ€” a real angle)
3. One-sentence hook for the cold open
4. Which BoldmindNG product (if AI-in-Business week) or ecosystem tie-in (if any other pillar has a natural bridge) this episode connects to
5. Suggested episode format (investigation / narrative retelling / explainer / personal essay / case breakdown)

OUTPUT FORMAT:
A markdown table with columns: Week | Pillar | Topic | Hook | Ecosystem Tie-in | Format

Do not repeat a sub-topic already covered in a previous month if I paste in past topics โ€” ask me for last month's calendar first if I haven't provided it.

8.9 โ€” Writing Style Analyzer Prompt

Run this in a fresh chat with web search/fetch enabled (Claude or ChatGPT with browsing). Paste 10โ€“20 URLs from across your existing accounts โ€” old Facebook posts, LinkedIn posts, any articles or Notes you've written โ€” and it will read them and hand back a reusable style profile, not just a summary of the content.

I'm going to paste 10-20 links to things I've written or posted (Facebook, LinkedIn, X, articles, anywhere). Read all of them, then produce a WRITING STYLE PROFILE I can reuse as a standing instruction when generating future content in my own voice.

Do NOT summarize what each post is about. I need HOW I write, not WHAT I wrote.

Analyze and report on:
1. SENTENCE PATTERNS โ€” average sentence length, how often I use short punchy sentences vs long ones, how I open paragraphs, how I close them
2. VOCABULARY โ€” reading level, words/phrases I repeat often, whether I code-switch into Pidgin/Nigerian English and when, words I clearly avoid
3. TONE โ€” where I sit between formal/casual, how much humor or sarcasm I use, whether I'm more declarative or more questioning
4. STRUCTURE โ€” do I use lists, do I use rhetorical questions, do I front-load the point or build up to it, how I use emojis/punctuation for emphasis
5. RECURRING MOVES โ€” specific phrases, openers, or sign-offs I reuse across multiple posts without realizing it
6. WHAT'S MISSING โ€” any tic or habit that undercuts clarity (e.g., hedging language, over-qualifying, run-on sentences) that I should be aware of, not necessarily eliminate

OUTPUT FORMAT:
A structured "Writing Style Card" I can paste at the top of any future content-generation prompt, written as direct instructions (e.g., "Write in sentences averaging 12-18 words. Open with a claim, not a question. Use one Pidgin phrase per 300 words, never more.") โ€” not a personality description. This should read like a spec sheet, not a compliment.

Links:
[PASTE 10-20 URLS HERE]
Re-run this every 3โ€“4 months as your writing evolves, and keep the newest style card at the top of every future generation prompt (including the 30-day topic prompt in ยง8.8) so AI-assisted drafts stay in your actual voice instead of drifting into generic AI phrasing.

8.10 โ€” Ecosystem Asset Generation Prompt

This references the exact dimension specs from Part 1.3 and the layout rules from Part 1.4 of the main boldmind-brand-manual.html, plus your live colors.ts and products.ts. Attach both files when you run it so colors/fonts/icons are pulled from the real source of truth, not guessed.

You are generating the complete social media asset set for a BoldmindNG product. I will tell you which product (by slug from products.ts).

CONTEXT (attach both files):
- colors.ts โ€” use BOLDMIND_COLOR_SCHEMES[slug] for primary/secondary/accent/gradient. Never invent a hex value not in this file.
- products.ts โ€” use the product's name, shortName, icon, description, and social links for copy and iconography.

ASSET SPECS (from boldmind-brand-manual.html ยง1.3 โ€” use exactly, do not approximate):
- Profile Photo: 800x800px PNG, transparent bg, icon centered in 680x680px safe zone
- Twitter/X Header: 1500x500px, keep visuals in center 1000x200px strip
- Facebook Cover: 820x312px, text confined to bottom-left 200px zone
- LinkedIn Company Banner: 1128x191px, logo left / tagline center
- YouTube Channel Art: 2560x1440px, TV-safe center 1546x423px
- YouTube Profile Icon: 800x800px PNG, circular crop
- Instagram Highlight Cover: 1080x1080px, 60px top/bottom safe zone
- Instagram Post Square: 1080x1080px
- Instagram Post Portrait: 1080x1350px (4:5 โ€” best organic reach)
- Vertical Video (Shorts/Reels/TikTok): 1080x1920px, 380px dead zone top AND bottom
- WhatsApp Broadcast Icon: 500x500px, 440x440px safe zone

LAYOUT RULES (from ยง1.4 โ€” apply to every generated card):
- Gradient angle: always 135deg, primary color to darkened primary (-20% luminance)
- Product icon: centered, white SVG, 38% of canvas width, 100% opacity
- Logo mark: bottom-left, 40px margin from left/bottom, white, Plus Jakarta Sans Bold 700, 28-34px
- Tagline: bottom-right, 40px margin right/48px bottom, white, Plus Jakarta Sans Regular, 14-16px, 70% opacity
- 4% opacity noise texture overlay for depth
- 2px inset border, rgba(255,255,255,0.12)
- Text always white on dark backgrounds (use getContrastColor() logic for any dynamic surface)

TASK:
For the product slug I give you, output ONE deliverable per asset type above, as either:
(a) an SVG/HTML mockup I can render and export at the exact target dimensions, using the product's real colors and icon, OR
(b) if you can't render directly, a complete image-generation prompt (for fal.ai/FLUX or similar) per asset that encodes every rule above so the output needs zero manual correction.

Do not reuse boldmind-hub's blue/gold palette for any other product โ€” pull the scheme for the specific slug I name.

Product slug: [INSERT SLUG FROM products.ts, e.g. "amebogist", "planai", "vibe-coders"]
Run this once per product slug rather than trying to batch all products in one pass โ€” each run should attach the same colors.ts/products.ts pair but only the single slug you're generating for, so the AI never bleeds one product's palette into another's assets.