
Three months ago, I was billing clients per blog post. Sounds good, right? Until you realize each post consumed 4-6 hours of my time. The math wasn't working—not just financially, but fundamentally.
Here's how those hours broke down:
- 1-2 hours researching keywords and analyzing competitors
- 2-3 hours writing and editing
- 1 hour (yes, ONE HOUR) manually converting Markdown to Sanity's Portable Text format
That last part? That's what broke me.
The Portable Text Problem
If you've worked with Sanity CMS, you know exactly what I'm talking about. Portable Text is powerful—brilliantly structured, queryable, platform-agnostic. But manually converting content into it is soul-crushing.
Picture this: You write a perfectly formatted article in your favorite editor. Beautiful headings, code blocks, links. Then you open Sanity Studio and spend an hour transforming this:
## How to Use the API
Simply call `fetchData()`:
Into deeply nested JSON objects. Every. Single. Paragraph.
I tried existing tools. They either broke on complex formatting, didn't support Sanity properly, or required so much manual cleanup they weren't worth the time.
So I built my own converter. Then I kept building.
Enter Terradium
What started as a "convert Markdown to Portable Text" script evolved into something bigger—an AI-powered content platform that handles the entire workflow from research to publishing.

Here's what it does now:
The Multi-Agent Architecture
I implemented a system where specialized AI agents handle different parts of content creation:
- Master Coordinator - Plans the entire content strategy
- SEO Research Agent - Uses Perplexity AI for real-time competitive analysis
- Content Writer - Generates SEO-optimized articles with GPT-4
- Content Improver - Reviews and enhances quality
- Sanity Publisher - Handles the Portable Text conversion automatically
Each agent focuses on what it does best. The coordinator orchestrates everything.
Content Planning at Scale
Instead of one-off articles, you can generate entire content strategies:
Input: "AI tools for developers"
Output:
- 12-article content plan
- Keyword research for each piece
- Topic clusters
- Publishing schedule
- Full SEO optimization
All generated in minutes, not days.
The Electron System
I got tired of unpredictable AI costs. You know the feeling—"Did I just spend $50 on API calls this month?" So I built a transparent usage system.
Every operation costs "electrons"—a predictable, trackable unit. Real-time balance tracking. No surprises in your bill.
Example: Full article with SEO research = 6 electrons (~$0.40-0.60 depending on your plan)
You can mix subscriptions with one-time booster packs. Use what you need, when you need it.
The Tech Stack (Because I Know You're Curious)
Built with modern tools that actually make development enjoyable:
Frontend:
- Next.js 15 with App Router
- TypeScript (because we're civilized)
- TailwindCSS v4
- Shadcn/ui components
Backend:
- Convex for real-time reactive database
- Clerk for authentication
Key Feature: Everything is real-time. You literally watch the AI agents work through each step. No black box, no waiting wondering if something's happening.
What I Learned Building This
1. Streaming AI Responses Transform UX
E.g., Using OpenAI's streaming API instead of waiting for complete responses changed everything:
const stream = await openai.chat.completions.create({
model: "gpt-4",
messages: [...],
stream: true,
});
for await (const chunk of stream) {
updateProgress(chunk);
}
Users see progress immediately. The difference between "is this working?" and "I can see exactly what's happening" is massive.
2. Convex Made Real-Time Stupidly Easy
Coming from traditional REST APIs and Redux state management, Convex's reactive queries were revelatory:
const content = useQuery(api.content.get, { id });
// Automatically updates when data changes. That's it.
No websockets. No polling. No state management hell. It just works.
3. AI Agents Need Guardrails
Early versions would go completely off the rails. The solution? Structured outputs with validation:
const schema = z.object({
title: z.string().max(60),
keywords: z.array(z.string()).min(3).max(10),
outline: z.array(z.string()),
});
Now agents can be creative within constraints. Freedom with boundaries.
The Honest Reality
Here's something I need to say: AI-generated content isn't perfect. It never will be—at least not yet.
What Terradium does is eliminate the 80% of work that's predictable:
- Keyword research
- Competitive analysis
- First draft generation
- SEO optimization
- CMS formatting
The final 20%—your voice, your insights, your unique perspective—that's still yours to add. And now you actually have time to focus on it.
Why I'm Launching in Beta
I've been using Terradium for my own content work for three months. It's transformed my workflow. But building in isolation only gets you so far.
I need real users. Real feedback. Real use cases I haven't thought of.
What works: ✅ AI content generation with multi-agent system ✅ Automatic Sanity CMS publishing ✅ Content planning and bulk generation ✅ Real-time progress tracking ✅ Transparent electron-based pricing
What's coming:
- More CMS integrations (WordPress, Contentful)
- Custom AI model support
- Team collaboration features
- Advanced analytics
The Pricing Philosophy
I wanted pricing that doesn't feel exploitative:
- Free tier: 30 electrons (~5 articles) to genuinely try it
- Fusion: $19/mo for 270 electrons (~90 articles)
- Reactor: $49/mo for 800 electrons (~265 articles)
Compare that to hiring writers at $100-400 per article. Or spending 6 hours of your own time. The math makes sense.
Try It Yourself
If you're:
- Spending hours on content creation
- Fighting with CMS formatting
- Doing client content work
- Running a dev blog or documentation site
- Just tired of the manual grind
Give Terradium a shot. The free tier is actually generous, and I genuinely want your feedback.
Beta access: terradium.io
What I'm Still Figuring Out
Honestly? A lot.
- Should this work with static site generators (Hugo, Gatsby)?
- Is the electron system intuitive or confusing?
- What other CMS platforms should I prioritize?
- How much AI assistance do people actually want versus full automation?
I'm one developer who built this to solve my own problem. Your feedback literally shapes where this goes next.