ContentVo: a website URL in, a 30-day content calendar out
ContentVo reads a company's website, works out its voice, audience and content pillars, and writes a month of social posts with matching visuals. We built it and we run it. Here's how it's put together, what we left out, and why.
- Product
- Paste a company URL, get a branded 30-day social content calendar with AI visuals in under 2 minutes.
- Built for
- Solo B2B founders and boutique agency freelancers managing 2–5 brands
- Timeline
- First commit Sep 21, 2026. Billing moved to Polar Sep 30. Renamed to ContentVo Oct 4.
- Status
- Live, paid plans
- Stack
- Next.js 15
- Supabase
- AI model
- AI image generation
- Resend
- Polar
- Vercel
Who ContentVo is for, and what hurts.
A solo B2B founder knows they should post consistently. In practice, every month starts with a blank calendar and a fragmented workflow: brainstorm pillars in Notion, prompt a chatbot for captions one at a time, switch to Canva or an image model for visuals, paste everything into a spreadsheet, then fight a scheduling tool's expiring social logins.
The result is predictable. Posting is strong for a week and abandoned by the third. Freelancers who manage social for a handful of clients have the same problem, multiplied by the number of brands they look after.
The people we built for are solo B2B founders and boutique agency freelancers managing two to five brands. They don't need another scheduler. They need the month written, on-brand, so posting takes minutes instead of an evening.
Why existing tools fall short.
- 01
Schedulers schedule. They don't write.
Buffer, Hootsuite and the rest are good at queueing posts you've already written. The hard part, deciding what to say for 30 days in the brand's voice, is still left to the user.
- 02
Chatbots have no memory of the brand
A general chatbot writes one caption at a time and forgets the brand between sessions. Getting 30 coherent posts across four content pillars means re-explaining the company every time.
- 03
Social API integrations break
Direct-posting tools depend on platform APIs and OAuth tokens that expire, change pricing or get revoked. Every broken connection is a support ticket and a missed post.
Inside ContentVo.
The core loop is three steps: analyze a URL, review the calendar, copy and publish. The user pastes their website. ContentVo fetches it, and the AI produces a brand profile (voice, audience and four content pillars) that the user can edit in seconds. One click then writes 30 days of posts spread across those pillars, each with a hook, caption, hashtags, call to action and a visual concept.
Each post can be edited, regenerated on its own, or given an AI-generated image grounded in the brand and the caption. Posting is deliberately manual: one-click copy formatted for the platform, a deep link to the native composer, and a status toggle from draft to approved to published. The landing page lets anyone see three posts written from their own site in about 30 seconds, with no signup.


- 01
Brand extraction from a URL
A hardened fetcher reads the site and the AI turns it into a structured brand profile. Users can add voice samples, and the rewrite tools then match them.
- 02
Schema-validated calendars
The 30-day plan is generated as structured output and validated with Zod before it's saved. A malformed response is rejected, not rendered.
- 03
Guardrails against bland AI copy
Every post is automatically checked for quality and for the stock phrases that make AI copy obvious. Posts that fail are flagged for the user.
- 04
Grounded image generation
A director pass turns the brand, industry and caption into a scene description before the image model runs. Images are rendered as editorial photography with no text or logos, and the pipeline falls back to a second model if the first fails.
- 05
Publishing without OAuth
Copy buttons, native composer links, a calendar feed users can subscribe to, and daily reminder emails replace fragile social API connections.
- 06
Built for agencies
Multiple brand workspaces per plan, read-only client review links, repurposing, reusable workflows and a creator mode that plans daily posts from niche news.
How it fits together.
- Next.js 15
App router on Vercel. Every generation runs in a route handler. No workers, no queue.
- Supabase
Auth, Postgres with row-level security across workspaces, brands, plans and posts, plus Storage for images.
- AI model
Brand analysis, calendar generation, rewrites and repurposing.
- AI image generation
On-demand visuals with a fallback if generation fails.
- Polar + Resend
Subscriptions with monthly and annual billing; transactional email and daily reminders.
Plan limits are enforced in the database before any AI call is made, and a failed generation doesn't count against the user's allowance.
User-supplied URLs are fetched through a hardened fetcher, so a URL can't be turned into a request against internal infrastructure.
Plan limits live in one typed object that the server gates, pricing page and settings screen all read, so the marketing copy can't drift from what the product actually enforces.
The calls that shaped it.
- 01
No social API integrations, on purpose
Skipping OAuth publishing removed the most fragile, most support-heavy part of the category. Users post natively, and we never have to send a "your connection expired" email.
- 02
Serverless only
Generation runs inside Next.js route handlers on Vercel instead of a separate worker fleet. It keeps the product to one deploy target and one bill.
- 03
Quotas in the database, not in middleware
Metering is the part of an AI product that loses money when it's wrong. Enforcing limits in the database rather than in application code made them reliable and testable, and closed several quota bypasses we found in review.
- 04
Rename before scale
The product launched as ContentFlow. Two weeks in, we moved to ContentVo and a domain we owned outright, before any meaningful search equity had built up on the old name.
Deliberately left out of v1.
- Direct publishing to X, LinkedIn or Meta through their APIs.
- Background workers, Redis and job queues.
- A visual node-based workflow editor.
- Full multi-user workspace roles. Agency review is read-only links, not shared logins.
- Social listening and analytics sync.
How it gets found.
ContentVo's buyers compare tools before they buy. So the content is built around the comparisons they're already making and the guides they're already searching for, each written to stand on its own.


- 01
Alternatives hub
Comparison pages against Buffer, ContentCal, Hootsuite, Planoly, Post Planner, Sked Social and Typefully, each expanded to 1,200+ words of specific comparison.
- 02
Guides for the ICP
Long-form guides on B2B SaaS content calendars, building in public, and social media for SaaS founders.
- 03
Try before signup
The homepage demo writes three posts from the visitor's own URL with no account. The product is the landing page.
- 04
llms.txt for AI answers
llms.txt and llms-full.txt describe the product, plans and use cases for AI assistants that cite sources.
Where it stands today.
ContentVo is live with a free preview and paid plans from $19 a month, with annual billing at ten times the monthly price. It's the newest product in the studio, and we aren't publishing usage numbers yet. When there's something worth reporting, it will appear here with its source.
Shipped and live
- URL-to-brand-profile analysis with editable voice and pillars
- 30-day calendar generation with per-post regeneration
- AI visuals with a model fallback
- Automated quality guardrails on every post
- Client review links, repurposing, workflows and creator mode
- Calendar feed and daily reminder emails
- 30 database migrations of hardening, metering and features
What we'd do the same way on your product.
- 01
The cheapest integration is the one you don't build
Dropping social OAuth removed weeks of work and a permanent support burden from the roadmap.
- 02
Meter before you market
Atomic usage reservation went in before launch. On an AI product, every unmetered endpoint is a cost leak waiting to be found.
- 03
Guardrails are product, not polish
The free preview shows three posts, so those three have to be good. Checking every post before the user sees it protects that first impression.
- 04
Wire real billing early
Moving to production billing in the second week surfaced edge cases, like comped accounts and upgrades that could have double-billed, while they were still cheap to fix.
The services behind this build.
- SaaS MVP Development
2–6 week Next.js + Supabase + Stripe MVPs with auth, billing, the core workflow and launch-ready SEO.
- AI Product Development
LLM features that survive real users: structured outputs, RAG, guardrails and cost control on Gemini, Claude or OpenAI.
- Next case study: ScopeCrafters
AI proposal writer for HVAC, roofing, electrical and plumbing contractors. Site visit to branded PDF proposal in 5 minutes.
Build something like this.
If ContentVo looks like the kind of product you need, tell us what you're building. We'll reply with questions about scope, timeline and fit.
SSttaarrtt aa pprroojjeecctt