My last startup failed because we overhired. At Sane, I keep things lean on purpose. That means social media only happens when I have a spare moment, and spare moments are rare. So instead of hiring a social media manager, I built one.
The CastSocial dashboard. Pipeline flow, KPI cards, rejected post alerts, and recent content at a glance.
Problem Definition
There is a specific kind of failure that changes how you build everything after it. My previous startup scaled headcount before it scaled revenue. We hired for functions we did not need yet. When the money ran out, the team was too large to sustain. That experience rewired how I think.
At Sane, I run intentionally lean. No unnecessary hires. But lean has a cost. Things like social media fall to whoever has time, which is nobody. We were doing real work in clinical AI. Published research, actual products in care settings. Our social presence did not reflect any of it. Posts went out when I remembered, with no consistency, no strategy, no voice.
The problem was not just "we need to post more." It was the entire workflow. Coming up with ideas, writing posts that sound like us, adapting them per platform, reviewing quality, scheduling, publishing, tracking performance. That is a full role, not a task. And I was not going to fill it with a hire.
Competitive Landscape
Buffer and Hootsuite are scheduling tools. They are good at scheduling. They do not create content. They do not know your brand voice. They do not check quality. You still have to write everything yourself and paste it in.
ChatGPT can write social media posts. But it does not know your brand unless you paste your context in every single time. It does not adapt per platform. It has no quality scoring. And it definitely does not publish anything.
Sprout Social has some AI features, but it is built for large marketing teams. The pricing starts at $249/month. That pricing only makes sense for large teams.
The gap: nobody combined content generation, brand voice training, quality scoring, and publishing in one tool at a price that makes sense for small teams. That is CastSocial.
The content queue. Each post shows its quality score, target platform, and approval status. Review in seconds.
The Build
System Design
Most AI content tools work like this: you type a topic, it spits out a post. The output is generic because the system has no context. CastSocial works differently. Three separate agents run in sequence, each doing one thing well.
The three-agent AI pipeline. Brand context in, scored posts out. Nothing publishes without passing the gate.
Product Rigour
The PRD goes deeper than a feature wishlist. It covers 18 live features with descriptions and status, 18 planned features with priorities, a three-tier pricing matrix, success metrics, a technical architecture section, and a known limitations section where every trade-off has a future solution attached. Here is what the feature inventory looks like:
Every feature in the PRD has this structure: what it does, what its status is, how it works, and why it matters. The roadmap features have the same structure plus a priority level. Nothing is vague. Nothing says "improve content quality." It says "12-point check against brand voice, factual accuracy, platform fit, engagement potential, compliance, and banned phrases."
UX Decisions
Edge Cases
Architecture
Every table has a workspace_id. Every query filters by it. Each user gets a workspace when they register, seeded with default settings and connectors. This is not something I added later. It was in the PRD because the pricing tiers include an Agency plan with multiple client workspaces.
If I had built this as a single-user tool and tried to add multi-tenancy later, it would have been a rewrite. Building it from day one cost me an extra WHERE clause on every query. That is it. That is the difference between a quick hack and a real product.
API keys for AI providers (Anthropic, OpenAI) are platform-level, shared across all workspaces. OAuth tokens for social platforms (Twitter, LinkedIn) are per-workspace. This means no workspace can access another workspace's social accounts, but every workspace gets the same AI capabilities.
Retention Design
A content tool that you forget about is a dead product. Three things are designed to keep users coming back:
Scope Discipline
The PRD has a "Known Limitations & Technical Debt" section. Every item has a reason and a planned solution. None of them are surprises.
Rate limiting is in-memory. Works fine under 1,000 users. Redis is the fix when scale demands it. JWT in localStorage. Functional for launch. httpOnly cookies come next. No email service. Resend is planned for verification, resets, and notifications. No error monitoring. Sentry planned for production tracking. 18 background agents lack workspace awareness. Not blocking for the API-served features that matter right now.
The difference between technical debt you chose and debt you accumulated by accident is whether you can explain every item on the list. I can.
Success Metrics
What Comes Next
18 features are planned, each with a priority. The high-priority ones: email verification via Resend, OAuth connections for direct publishing to Twitter/LinkedIn/Instagram, Stripe billing for plan upgrades. Medium: AI learning from user edits, content repurposing across platforms, batch generation for a week of content in one click. Low: A/B experiments, community monitoring, white-label agency reports.
The roadmap is not a wish list. It is a prioritised backlog with dependencies mapped. Direct publishing needs OAuth. OAuth needs the platform connection UI. The UI needs the settings tab refactor. The order matters.
What I Learned