ContentHero – Project Story

🌟 Inspiration

While consulting with multiple businesses I kept rewriting the same briefs so every blog post, email, or ad sounded “on-brand.” Re-explaining the brand voice and target persona each time was painful. I imagined a one-click engine that remembers a company’s DNA, understands its customers, and spits out channel-ready copy on demand.

What I Learned

  • Deep personas outperform surface demographics – mapping pains, goals, and aspirations drives sharper hooks.
  • A two-step outline ➜ draft chain delivers higher-quality long-form copy than single prompts.
  • Marketers crave version history; “Save as Draft” became a top-used feature.
  • Even elite copywriters share structural DNA (headline rhythm, CTA cadence); templating those patterns boosts consistency.

How I Built It

Layer Tech & Approach
Front-end React + Vite, Tailwind for UI, Ant Design components
Auth & Data Supabase (Postgres, Row-Level Security)
AI Pipeline OpenAI o4-mini functions
1️⃣ Generate structured outline JSON
2️⃣ Expand to full draft with brand-voice tokens
Content Assistant Retrieval-augmented chat referencing saved outlines/drafts
Hosting / CI Netlify continuous deployment

Challenges

Issue Fix
Token overflow from verbose brand briefs Extractive summarizer before prompt
Tone drift in early drafts Weighted persona sentiment + seeded style examples
Multi-tenant isolation Granular Supabase RLS + service-role edge functions
Generation latency > 12 s Batched prompts & enabled streaming (now < 7 s)

What’s Next

Adding In Team Collaboration Features – shared libraries, inline comments, and AI rewrite suggestions.

ContentHero is on track to become a full-stack content studio that scales a brand’s voice across every channel—with AI doing the heavy lifting.

Built With

  • netlify
  • openai
  • react
  • supabase
  • tailwind
  • vite
Share this project:

Updates