AI & Automation
AI AI + CMS / BUILD SESSION DESIGN BUILD SUBAGENTS CMS PUBLISH

How We Used AI to Build Our Content Management System in One Session

We help businesses automate and systemize their operations for a living. We build custom software, integrate APIs, and deploy AI solutions. But when it came to our own website? We had exactly zero blog posts.

Not because we had nothing to say. The opposite. We experiment constantly — building autonomous dev agents, real-time messaging platforms, SaaS tools, and client automation pipelines. We just never had time to write about it.

The Cobbler's Children paradox: The shoemaker's kids go barefoot because the shoemaker is too busy making shoes for everyone else. We were so deep in the work that the outside world had no idea what we actually knew.

That had to change.

Content that practically writes itself

We didn't just need a blog. We needed a system that would make publishing as frictionless as possible. Here's what we wanted:

  • A real CMS built into our existing website — not WordPress, not a third-party service
  • Multiple content types — articles, case studies, guides, and announcements, each with their own structure
  • SEO baked in — not just for Google, but for AI search engines too (ChatGPT, Perplexity, Google AI Overviews)
  • An MCP server so AI agents can create, edit, and publish content directly from Claude Code
  • An admin portal where human writers can collaborate, with role-based permissions

A custom CMS with admin portal, SEO optimization, and an MCP server sounds like a month of work. We did it in one session.

— David Coleman, Founder

Designing the system with AI

We sat down with Claude (the AI, not a person named Claude) and started brainstorming. The entire design session was collaborative — we'd state what we wanted, Claude would propose approaches with tradeoffs, and we'd decide together.

Within 30 minutes we had locked in:

  • Architecture: CMS built into our existing Express + React + PostgreSQL stack. No new servers, no new databases.
  • Four content types with distinct templates: articles, case studies (with client/challenge/solution/results fields), guides, and announcements.
  • TipTap rich text editor with Notion-style slash commands for fast writing.
  • Google OAuth with invite-only access and two-tier permissions (admin + writer, with granular overrides).
  • Server-side rendering for blog pages so search engines see full content immediately.
  • Schema.org structured data on every page, plus an llms.txt file for AI crawlers.

We even used a visual companion tool to review mockups of the admin dashboard and article editor in real time.

Building 25 tasks in parallel

After the design was approved, Claude generated a detailed implementation plan — 26 tasks across 6 phases. Then something interesting happened.

Instead of building one file at a time, Claude dispatched specialized subagents to implement independent tasks in parallel. Each subagent received exactly the context it needed, built its piece, ran self-review, and committed.

43
Files Created
7,372
Lines of Code
19
Commits

Backend (Express)

  • Database schema with Drizzle ORM — users, articles, and media tables
  • Google OAuth with Passport.js — invite-only, with JWT tokens for API access
  • Permission system — role-based defaults with per-user granular overrides
  • Full CRUD API for content management
  • File upload handler with image validation
  • SEO analyzer that scores content 0-100
  • Schema.org JSON-LD generators for Article, HowTo, and FAQ types

Frontend (React)

  • Admin portal with sidebar navigation
  • Dashboard with stats, quick actions, and recent activity
  • TipTap article editor with formatting toolbar and slash commands
  • Publish sidebar with status management, tags, SEO panel, and image uploads
  • Media library, user management, and settings pages

Public Blog (SSR)

  • Server-rendered blog listing and article pages
  • Full meta tags, Open Graph, and Twitter Cards
  • Auto-generated sitemap.xml and RSS feed
  • llms.txt — a machine-readable content index for AI crawlers

MCP Server (Standalone)

Category Tools Count
Auth Authenticate, view profile 2
Content Create, edit, publish, unpublish, list, get, delete articles 7
Media Upload and list media files 2
SEO Analyze content for search optimization 1

Browser-based Google OAuth — click authenticate, sign in, done. Works from any Claude Code session globally.

This article was published by AI

Here's where it gets fun. This very article was written and published using the system we just built.

From inside Claude Code, we ran:

Claude Code
# Step 1 — Authenticate with Google OAuth
authenticate

# Step 2 — Upload the hero image
upload_media "hero-cms-article.png"

# Step 3 — Create the article with full HTML + SEO metadata
create_article \
  --title "How We Used AI to Build Our CMS" \
  --content "<h2>The Cobbler's Children...</h2>" \
  --tags "AI, CMS, automation"

# Step 4 — Publish it live on dovito.com
publish_article --id 1

No copy-pasting. No switching between tools. The AI wrote the content and published it through the same system it helped build.

What this means for our clients

This isn't just about Dovito's blog. The same approach works for any business:

Traditional Approach AI-Powered Approach
Months of planning, vendor selection, and setup
Design, build, and deploy in a single session
Off-the-shelf CMS with features you don't need
Custom system built exactly for how you work
Manual publishing workflow for every piece of content
AI agents as first-class content creators
SEO as an afterthought or separate plugin
SEO and AI discoverability baked in from day one
The bottom line: If you're a business that knows more than your website shows, you have the same problem we had. The knowledge is there. The experience is there. You just need a system that makes sharing it effortless. That's what we build.

Want to see it in action?

The CMS admin panel is live at dovito.com/cms. The MCP server is available to our team via Claude Code. And this blog — the one you're reading right now — is the first of many.

If you want to explore how AI-powered automation can transform your business operations, let's talk.