Skip to main content
HW88
  • Our StoryTeamFounder
  • Ventures
  • Learn
  • CapabilitiesBuild PodsEngagement
  • Insights
  • Media
  • Case Studies
  • Our StoryTeamFounder
  • Ventures
  • Learn
  • CapabilitiesBuild PodsEngagement
  • Insights
  • Media
  • Case Studies
  • Contact
HavenWizards88

Venture Studio for high-stakes founders. We build and automate entire ecosystems for global scale.

Company

  • About Us
  • Team
  • Ventures
  • Case Studies
  • Learn
  • Insights
  • Media
  • Build Log

Services

  • Capabilities
  • Build Pods
  • Strategic Advisory
  • Technology Development
  • Growth Acceleration
  • FAQ

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 HavenWizards 88 Ventures OPC. All rights reserved.

Makati City, Philippines

←Back to Build LogBUILD LOG

Social Studio v3: Brand Intelligence Layer

Deployed Social Studio v3 with Brand System Pack (14 visual styles), AI-governed caption generation, 3-layer guardrails, and cross-platform publishing to Facebook, Instagram, Threads, and LinkedIn. 7 commits, ~1,800 LOC.

D
Diosh Lequiron, PD-SML, PhD, MBA, CSM
March 25, 2026 · 2 min read
#social-media#ai#brand#content-engine#guardrails
Share
Social Studio v3: Brand Intelligence Layer

We had a problem: every social post we published looked like it came from a different company. The AI captions were generic. The images were stock-grade. The brand voice drifted with every prompt.

So we built a Brand Intelligence Layer — 14 locked visual styles, a 3-layer caption enforcement system, and cross-platform publishing that actually works.

What broke before this

Our AI captions kept using terms we explicitly banned ("comprehensive," "leverage," "revolutionary"). The prompt said "don't use these words." The AI used them anyway. Every. Single. Time.

We tried fixing it with better prompts. Did not work. The model optimizes for fluency, not compliance. So we added two more enforcement layers behind the prompt:

  • Programmatic validation — enforceCaption() scans every generated caption against a blocked-terms list and auto-appends a CTA if one is missing. Hard block, not a suggestion.
  • UI warnings — soft violations (tone drift, length issues) show a yellow banner before publish. The human decides.

Three layers. Prompts catch 70%. Code catches 25%. Humans catch the remaining 5%.

The Threads 500-char lesson

Threads has a 500-character hard limit. Not 500 words — 500 characters. Our first batch of posts failed silently because the API returns a success response even when the post is truncated to nothing.

The fix: server-side truncation with paragraph-break detection. If the caption exceeds 500 chars, cut at the nearest paragraph break. If no paragraph break exists, cut at the nearest sentence break. Never mid-word.

14 visual styles, zero ad-hoc prompts

Each style locks in a color palette, composition zones, and typography treatment. "System Architecture" uses dark backgrounds with blueprint-style overlays — aimed at investors and technical founders. "Filipino Heritage" uses warm earth tones with cultural motifs — aimed at partnership audiences.

The point: the style is selected before the image is generated. No more "make it look professional" prompts that produce generic corporate imagery.

D

Diosh Lequiron, PD-SML, PhD, MBA, CSM

President & CEO, HavenWizards 88 Ventures

Building arena-forged execution systems and deploying governed Filipino talent across multiple venture lines. Every build log entry comes from real operations, not theory.

More from the Build Log

Reflect

Reflecting on Batch 2: When Velocity and Quality Diverge

Batch 2 produced 10 articles in under 2 weeks. Mid-month audit found fabricated metrics in 4 of them. Every round-number statistic was invented. We rewrote all 14 published articles before any new content shipped. Velocity without editorial gates is marketing theater, not content infrastructure.

May 2, 2026 · 1 min read
Ship

What We Shipped in April 2026

10 SEO articles published and rewritten to brand standards. 1 Google indexing crisis identified and fixed — root cause: await headers() in root layout cascading dynamic rendering to every page. Cache-Control went from private no-store to public for 100+ pages.

May 1, 2026 · 1 min read
Learn

The GSC Indexing Crisis: What await headers() Does to Your Entire Site

await headers() in the root layout forced every page into dynamic rendering. Next.js responded with Cache-Control: private, no-store. Google read private as personalized content and stopped indexing. 100+ pages crawlable, 1 indexed.

Apr 28, 2026 · 1 min read