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
Log in or sign up for Devpost to join the conversation.