Generate Social Posts in Founder's Voice via LLM
Use an LLM API to generate social media posts in a founder's authentic voice
Instructions
Generate Social Posts in Founder's Voice via LLM
Prerequisites
- Anthropic API key or OpenAI API key
- 10+ examples of the founder's existing writing (LinkedIn posts, emails, blog posts, talks)
- Defined content pillars and ICP pain points
Why This Matters
Founder-led content must sound like the founder, not like a marketing team or an AI. This fundamental teaches you to use LLM APIs to generate drafts that capture the founder's voice, opinions, and storytelling style -- then have the founder review and edit before publishing.
Steps
1. Build a voice profile document
Collect 10-20 examples of the founder's best writing. Analyze and document:
- Sentence length: Short and punchy? Long and flowing?
- Vocabulary: Technical jargon level? Casual or formal?
- Perspective: First person ("I") or collective ("we")?
- Opinions: What strong takes does the founder hold? What industry beliefs do they challenge?
- Stories: What personal/professional experiences do they reference?
- Tone: Authoritative, conversational, provocative, educational?
- Patterns: Do they use lists? Questions? Analogies? Data?
Create a voice profile document (500-800 words) summarizing these traits with examples.
2. Generate post drafts via Anthropic API
POST https://api.anthropic.com/v1/messages
x-api-key: {ANTHROPIC_API_KEY}
anthropic-version: 2023-06-01
Content-Type: application/json
{
"model": "claude-sonnet-4-20250514",
"max_tokens": 1024,
"system": "You are ghostwriting LinkedIn posts for a founder. Here is their voice profile:\n\n{VOICE_PROFILE_TEXT}\n\nHere are 5 examples of their actual posts:\n\n{EXAMPLE_POSTS}\n\nRules:\n- Write in first person as the founder\n- Match their sentence structure and vocabulary\n- Include a hook in the first line that creates curiosity or tension\n- Keep posts between 150-300 words\n- End with a question or opinion that invites comments\n- Do NOT use emojis, hashtags, or generic motivational language\n- Do NOT start with 'I'm excited to' or 'Thrilled to share'\n- Reference specific numbers, experiences, or situations -- not abstract advice",
"messages": [
{
"role": "user",
"content": "Write a LinkedIn post about {TOPIC}. The target audience is {ICP_DESCRIPTION}. The core insight is: {SPECIFIC_INSIGHT_OR_EXPERIENCE}. Make it feel like a real conversation the founder is having with their network."
}
]
}
3. Generate via OpenAI API (alternative)
POST https://api.openai.com/v1/chat/completions
Authorization: Bearer {OPENAI_API_KEY}
Content-Type: application/json
{
"model": "gpt-4o",
"messages": [
{
"role": "system",
"content": "You are ghostwriting LinkedIn posts for a founder. {SAME_SYSTEM_PROMPT_AS_ABOVE}"
},
{
"role": "user",
"content": "Write a LinkedIn post about {TOPIC}. Target audience: {ICP}. Core insight: {INSIGHT}."
}
],
"max_tokens": 1024,
"temperature": 0.8
}
4. Batch-generate a week of content
To create a full week's content in one API call:
{
"role": "user",
"content": "Generate 5 LinkedIn posts for the coming week. Each post should cover a different content pillar:\n\n1. {PILLAR_1}: {SPECIFIC_ANGLE_OR_STORY}\n2. {PILLAR_2}: {SPECIFIC_ANGLE_OR_STORY}\n3. {PILLAR_3}: {SPECIFIC_ANGLE_OR_STORY}\n4. {PILLAR_4}: {SPECIFIC_ANGLE_OR_STORY}\n5. {PILLAR_5}: {SPECIFIC_ANGLE_OR_STORY}\n\nFor each post, provide:\n- The hook (first line)\n- The full post body\n- A suggested CTA\n- Which day of the week to publish (Tue-Sat)"
}
5. Human review loop
Human action required: The founder MUST review every generated draft before publishing. The review process:
- Read the draft aloud. Does it sound like you?
- Replace any generic phrases with specific details from your experience.
- Strengthen the hook if it does not create enough tension or curiosity.
- Check the CTA: does it invite a response, or is it a dead end?
- Edit for length: cut anything that does not earn its place.
Typical flow: AI generates 80% of the draft, founder edits 20% to add authenticity and specifics. Over time, as the voice profile improves, editing time decreases.
6. Improve the voice profile iteratively
After each batch:
- Note which generated posts needed the most editing and why.
- Add new examples of the founder's actual posts (especially high-performers).
- Update the voice profile with patterns that the AI keeps missing.
- After 4 weeks, the AI output should require minimal editing.
Cost Estimates
- Claude Sonnet: ~$3/million input tokens, ~$15/million output tokens. A week of 5 posts costs approximately $0.02-0.05.
- GPT-4o: ~$2.50/million input tokens, ~$10/million output tokens. Similar cost.
- At scale (daily posting for 6 months): total LLM cost is under $5/month.
Error Handling
- Output sounds generic: The voice profile is too thin. Add more examples, especially posts where the founder is most opinionated or vulnerable.
- Output is too long: Set
max_tokenslower (512-768) and add "Keep under 250 words" to the prompt. - Output uses forbidden patterns: Add negative examples to the system prompt: "NEVER write posts that start with [bad pattern]."
- Rate limits: Anthropic allows 4,000 requests/minute on most plans. Batch requests to stay well under limits.