How I Write Really Long and Deep Content - Workflow with Claude 3.7 Sonnet
Have you ever stared at a blank page, feeling that familiar sense of writer's block creeping in? Or perhaps you've tried to write about cutting-edge topics that aren't well-covered online, only to find yourself struggling with where to begin? If you're nodding your head, you're not alone.
As someone who's maintained a personal blog for over 10 years, I should be a proficient writer by now. But the truth? I'm not a "natural writer." It takes me ages to craft content because I nitpick every sentence. To make matters worse, I suffer from repetitive strain injury (RSI) in my fingers—so writing literally causes me physical pain.
When AI tools like ChatGPT and Perplexity came along, I thought my problems were solved. But they weren't. These platforms often generate what I call "AI slop" or "ChatGPT slop"—content that's vacuous, vapid, and packed with generic advice anyone could find elsewhere. They don't give me the control I want over the content flow, and they frequently try to do too much, filling in sections with fluff that adds zero value to my readers.
Most frustratingly, these AI tools seem to hit a wall around the 1,000-1,800 word mark. They simply cannot maintain quality beyond that length, which is a problem when you're trying to create truly deep, valuable content.
And I'm not the only one facing this issue. I've spoken with numerous founders and technical professionals who have incredible proprietary insights, unique data, or groundbreaking code snippets they want to share with the world. The problem? These talented data scientists, engineers, and researchers aren't writers—and many of them actively dislike the writing process.
So, how do I overcome these challenges to produce high-quality, in-depth content that goes well beyond the typical AI-generated fluff? That's exactly what I'll share with you today.
The Solution: Video + Content Plan = Deep Original Content
After much experimentation, I've found a powerful approach that works consistently: combining a video recording with a structured content plan to generate 2,000+ word original content.
In fact, I'm pulling back the curtain completely here—this very blog post you're reading was created using this exact process. And it's not just this one; my previous articles on "How We Save $27K on Ads Each Month" and "How We Use Reddit to Find Blue Ocean Content Ideas" were also written using this same approach.
You can watch a quick demo of how everthing falls into place here:
The beauty of this method is that it leverages AI as a co-pilot rather than letting it take over the entire journey. It's about finding the sweet spot where technology amplifies your expertise instead of replacing it with generic content.
The Intuition Behind the Solution
My goal was to create a system that allows AI to "fill in the blanks" while enabling me to steer it very tightly. I like to think about it in terms of the control you have when operating different vehicles:
When you turn a car's steering wheel, you get immediate feedback—the car turns instantly.
With a boat, the feedback is slower and softer—there's a bit of lag.
In a plane, the feedback is even more delayed and subtle.
Most AI writing tools feel like flying a plane—you input your request and hope it goes in roughly the right direction, but you have limited control over the specific path it takes. What I wanted was the traction of a car or at least a boat, where I could control the flow of the content very precisely while still allowing the AI to handle the heavy lifting of writing.
Beyond just control, I wanted to create content that stands out with:
Code examples
Relevant images
Helpful links
Deep insights that aren't available elsewhere
These elements signal quality to both readers and search engines, showing that the content offers real value beyond what generic AI can produce.
The Process Broken Down
My content creation process consists of two main components:
Video transcript: I record myself speaking about the topic using Loom
Content plan: I create a structured outline in bullet points
Let me walk you through how these work together:
1. Video Recording with Loom
I start by filming myself talking through the topic. As I speak, I reference my content plan on the side of my screen. You can see the entire process of filming the content for this blog post in this demo video).
This approach allows me to:
Verbalize my thoughts naturally without typing everything
Include nuances and insights that might not make it into a written outline
Create content in a way that doesn't aggravate my RSI
Produce a video that can later be published on YouTube as additional content
After recording, I use Loom's built-in transcription feature to generate a text version of everything I said. This transcript, though not perfect, provides the raw material that will form the backbone of my written content.
2. Content Plan in Bullet Points
Simultaneously, I maintain a content plan in my Obsidian notebook that guides both the video and the resulting article. This plan includes:
The main problem statement
Key points I want to cover
Any links or resources I want to reference
The overall structure of the piece
Code snippets or technical details
This content plan acts as the "steering wheel" for both my video recording and the AI's writing process. It ensures I stay on track while speaking and gives the AI clear instructions on how to structure the final piece.
3. The Secret Sauce: Custom AI Processing
With both the transcript and content plan in hand, I feed them into my custom AI system built with Langchain JS and Claude 3.7 Sonnet. The system processes this input in chunks of about 500 words at a time, maintaining quality throughout.
What makes this approach different from just pasting a transcript into ChatGPT is:
The AI has both my natural speech (transcript) and my structured thoughts (content plan) to work with
It processes the content in manageable chunks, preventing quality degradation in longer pieces
I've built in a specific writing style guide that ensures consistent tone and approach
The system can handle specialized topics because it's working with my actual expertise from the transcript, not trying to generate knowledge
The result is content that maintains my voice and expertise while being well-structured and professionally written—all without the physical strain of typing thousands of words.
Technical Implementation
For those interested in the technical details, here's how I built this system:
Tech Stack
Langchain JS: For orchestrating the AI workflow
Claude 3.7 Sonnet: As the language model
Langsmith: For observability to track and debug any issues
Key Questions I Had to Solve
Before building this system, I needed to answer several questions:
Can Claude 3.5/3.7 Sonnet handle really long content? Through testing, I found that Claude 3.5 Sonnet struggles to maintain quality beyond about 1,000-1,200 words. It tends to shift into bullet points and starts to skim over content to finish the article. Claude 3.7 Sonnet performs much better, maintaining quality for significantly longer pieces.
How "steerable" would the content flow be? With the right prompting and the content plan as a guide, I found that the AI follows my intended structure remarkably well. This gives me the car-like control I was looking for.
Would the output be publish-ready? The goal was to create content that's at least 90% complete so I only have to make minimal edits. In practice, I've found that the system produces content that requires very little editing beyond adding images and making minor adjustments.
Would transcription errors be fixed? Loom's transcription isn't perfect and often contains errors. I was pleased to find that the AI generally identifies and corrects most transcription errors automatically, though some still slip through.
The Code
Here's a cleaned up version of the code I use to generate long-form content with the prompt to generate long content in multi-parts:
import { AIMessage, HumanMessage, ToolMessage } from "@langchain/core/messages";
import { z } from 'zod';
export const writeContentWithLLM = async (messageChain, llm) => {
let content = "";
let endOfArticle = false;
let attempts = 0;
while (!endOfArticle && attempts < 12) {
const result = await llm.invoke(messageChain);
attempts++;
content += result.contentToAppend + "\n\n";
endOfArticle = result.endOfArticle;
messageChain.push(
new AIMessage({
content: "",
tool_calls: [
{
name: "extract",
args: {
contentToAppend: result.contentToAppend,
endOfArticle: false,
},
id: `call-${attempts}`,
type: "tool_call",
},
],
})
);
messageChain.push(
new ToolMessage({
tool_call_id: `call-${attempts}`,
content: "Successfully appended result to the article",
status: "success",
})
);
}
return content;
};
const contentWriterSchema = z.object({
contentToAppend: z.string().describe('Article written in Markdown'),
endOfArticle: z.boolean().describe('True when the article is completed'),
});
export const deepTechnicalContent = async ({ prompt, transcript, contentPlan, length }) => {
const llm = claude37SonnetV2.withStructuredOutput(contentWriterSchema);
const aiMessage = `You are a technical content writer and your job is to write an in-depth and insightful article on the topic provided. You may be given a transcript of a conversation or video and/or a content plan.
${CUSTOM_STYLE_GUIDE}
## Output Mechanism
You do not have to write the entire article in one go although you are targeting the overall length of the article specified by the user.
Write as much as you can by calling \`contentToAppend\` to append content to the article.
As a rule of thumb, write 500 words at a time. Ie if you are asked to write 1000 words, you will have to call \`contentToAppend\` 2 times, separately
## Ready for Publishing
The article produced should be fully fleshed out and not just a draft. It should be ready for publishing.`;
const humanMessage = `${prompt}
${transcript ? `<transcript>${transcript}</transcript>` : ''}
${contentPlan ? `<contentPlan>${contentPlan}</contentPlan>` : ''}
## Target Length
Target the length of article to be ${length} words.`;
const messageChain = [
new AIMessage(aiMessage),
new HumanMessage(humanMessage),
];
return writeContentWithLLM(messageChain, llm);
};
The key insight here is using Langchain's structured output capabilities to get clean, formatted content without the AI's commentary or meta-discussion. The system writes approximately 500 words at a time, maintaining quality throughout the entire article regardless of length.
Benefits Beyond Just Saving Time
While this process certainly helps me write more efficiently, the benefits extend far beyond simply saving time:
1. Maintains Deep Expertise
Unlike generic AI content that often lacks depth, this approach preserves the nuanced expertise that comes from my own knowledge and experience. The AI isn't making up information—it's restructuring and enhancing what I've already provided through the transcript and content plan.
2. Two Content Pieces for One Effort
By recording a video as part of the process, I automatically create two pieces of content: the written article and a video that can be published on YouTube. This allows me to reach audiences who prefer different formats without doubling my workload.
3. Reduces Physical Strain
For someone with RSI like me, reducing the amount of typing required is a huge benefit. I can speak for 20 minutes rather than typing for hours, which makes content creation physically sustainable.
4. Creates Genuinely Lengthy, Deep Content
Most importantly, this approach allows me to create content that truly explores topics in depth—going well beyond the 1,000-1,500 word limit that seems to be the quality threshold for most direct AI writing tools.
When to Use This Approach
This method is particularly valuable for:
Subject matter experts who aren't natural writers: If you have deep knowledge but struggle to write it down coherently
Creating content about cutting-edge topics: When you need to write about something so new that AI tools don't have good training data on it
Organizations with proprietary data or insights: When you want to share unique research or findings that aren't available elsewhere
People who prefer talking to writing: If you express yourself more naturally through speech
Content creators looking to scale: When you want to produce both written and video content efficiently
Looking Forward: Human-Augmented AI for Content at Scale
What excites me most about this approach is that it flips the typical script. Rather than being "human-first with AI augmentation," this is more like "AI-first with human augmentation"—a shift that enables producing world-class content at a much larger scale.
We're researching ways to refine this process further, particularly for organizations with deep research or proprietary data that want to extract more value through content without burdening their technical experts with writing tasks.
The future of content creation isn't about AI replacing human expertise—it's about finding the perfect partnership where each contributes what they do best: humans providing the deep insights and direction, AI handling the heavy lifting of writing and structuring.
Try It Yourself
If you'd like to experiment with this approach, I've shared a simplified version of my code above that you can adapt to your needs. You'll need to:
Set up Langchain JS
Connect to a language model (I use Claude 3.7 Sonnet via AWS Bedrock, but you could use Anthropic's or OpenAI's models too)
Create your own style guide to replace the placeholder in the code
Record a video on your topic and get the transcript
Create a content plan in bullet point format
Run the code with your transcript and content plan as inputs
For those who want to see the complete process in action, I've included my original Loom video at the end of this article, along with the raw transcript and content plan that were used to create this very post.
Conclusion
Creating deep, high-quality long-form content doesn't have to be a painful or time-consuming process—even for those of us who aren't natural writers. By combining the natural flow of spoken communication with the structure of a content plan and the efficiency of AI, we can produce content that maintains human expertise while removing much of the friction from the writing process.
If you're interested in learning more about how this approach might work for your organization—particularly if you have technical experts with valuable insights but limited time or desire to write—feel free to reach out. This approach might be the key to unlocking the wealth of knowledge currently trapped in your team's heads and transforming it into valuable content that showcases your expertise to the world.