CS

CONTENT STUDIO

Tai Huynh · portfolio #8

AI-Powered Content Generation

GIVE A BRIEF.
GET COPY.

Blog posts, product descriptions, social copy — in your brand voice. Streamed live as it’s written.

Content Type
Tone
Length
min 10 · max 4,000 chars0/4000
Waiting for brief

Fill in your brief and hit GENERATE
Content streams in live.

Gemini 2.5 FlashSSE StreamingRate Limited · 30/dayRaw HTML disabled

What makes it work

01

Validated Input

zod schema enforces type, enum membership, and byte caps before any prompt is built.

02

Prompt Injection Guard

Brief is wrapped in <BRIEF> XML tags as data — never concatenated as instructions.

03

Live SSE Stream

Server-Sent Events deliver each token as it arrives. No waiting for full generation.

04

Safe Markdown

react-markdown parses to a virtual DOM. skipHtml=true blocks raw HTML injection.