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 | company/boldmindng | Company Page | โ Active | |
| BoldmindNG Hub | YouTube | @boldmindng | Channel | โ Active |
| BoldmindNG Hub | facebook.com/boldmindng1 | Page | โ Active | |
| BoldmindNG Hub | wa.me/2349138349271 | Business Channel | โ Active | |
| PlanAI | TikTok | @planaibyboldmind | Product Brand | โ Active |
| PlanAI | Twitter/X | @planaibyboldmin | Product Brand | โ Active |
| PlanAI | company/planaibyboldmind | Company Page | โ Active | |
| PlanAI | facebook.com/planaibyboldmind | Page | โ Active | |
| PlanAI | 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.com/amebogistng1 | Page | โ Active | |
| AmeboGist NG | YouTube | @amebogistng | Channel | โ Active |
| AmeboGist NG | wa.me/234 | Broadcast Channel | โ ๏ธ Needs Full Link | |
| Boldmind EduCenter | TikTok | @boldmindeducenter | Edu Brand | โ Active |
| Boldmind EduCenter | facebook.com/boldmindeducenter | Page | โ Active | |
| Boldmind EduCenter | YouTube | @boldmindeducenter | Channel | โ Active |
| Boldmind EduCenter | 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.com/villagecircleng1 | Page โ Eldership Community | โ Active | |
| VillageCircle NG | YouTube | @villagecircleng1 | Channel | โ Active |
| Vibe Coders | fb.com/share/g/1GeXoCEK2a/ | Group โ Developer Guild | โ Active | |
| AmeboGist NG | TBD | Broadcast Channel | ๐ฒ Pending Setup |
1.2 โ Platform Bio Templates
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)
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 |
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.
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
Card B: AmeboGist NG Pidgin News Card
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
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;
}
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
5.1 โ Ecosystem Chat Flow Diagram
5.2 โ Vertical Video Safe Zones (9:16 โ 1080ร1920px)
1080ร1160px
| 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',
},
];
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%.
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)
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.
Godwin dey favor you today! We just drop [FEATURE] inside [PRODUCT] and e dey free for all users. No be juju โ e be technology.
You wan japa? Oya start by securing your bag first. [PRODUCT] don help [X] Nigerians generate income from their phone. Your turn.
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.
Economy hard, NEPA no give light, data dey finish โ but no shaking. [PRODUCT] works offline too. We built it for real Nigerian conditions.
No be today we start this thing. [X] months of coding, testing, crying, rebuilding โ and today we finally launched [PRODUCT]. Carry go.
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.
3,000 students. 650 businesses. 12,000 readers. All inside the BoldmindNG ecosystem. Which one are you joining today? ๐
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.
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.
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.
Before [PRODUCT]: 4 tools, 3 spreadsheets, 2 freelancers, 1 headache. After [PRODUCT]: everything in one dashboard. That na value.
If you dey Lagos and you run a business โ comment 'LAGOS' below. We go drop a free resource specifically for Lagos entrepreneurs this week. ๐
๐ด BREAKING: [PRODUCT] just launched [FEATURE]. Early users are already saying it changed how they do [TASK]. We no go lie to you โ try am.
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].
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.
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.
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.
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.
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) |
|---|---|---|---|---|---|
| 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 |
| 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 |
| 0โ3 | Hashtags rarely help โ brand only | โ | โ | #BoldmindNG | |
| TikTok (sounds) | N/A | Always pair with trending Nigerian audio | โ | โ | โ |
7.4 โ Hashtag Directories by Channel
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
@CharlDecodes across YouTube, X, and Medium. If
taken anywhere, fallback is @CharlDecodesNG.
products.ts; it's the human halo around the
ecosystem.
#1E293B โ #0F172A, borrowed from the SAFE AI scheme) instead of the Hub's
blue/gold โ signals "investigation," not "SaaS."
@CharlDecodes is free on all six platforms before you
print it anywhere.
8.2 โ Platform Setup & Bio Templates
Username โ Decided
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.
@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 |
|---|---|---|---|---|
| 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 |
| 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.
8.3 โ Content Pillar Engine
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 |
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
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
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]
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"]