{"slug": "i-built-an-ai-publishing-stack-for-31-month-real-numbers-after-15-posts", "title": "I Built an AI Publishing Stack for $31/Month — Real Numbers After 15 Posts", "summary": "A developer built a solo AI publishing stack for $31 per month, running 15 blog posts with real traffic and revenue data. The stack uses self-hosted n8n on a Hetzner VPS, prompt caching to cut Claude API costs by 60%, and Cloudflare KV for analytics on the free tier. The project documents whether the automation can pay for itself.", "body_md": "I've been building a solo content operation in public for the past month. The goal: run a real publishing workflow — blog posts, analytics, affiliate tracking — entirely on AI automation, and document whether it can pay for itself.\n\n15 posts live so far. Every post has real numbers — actual traffic, actual revenue, actual mistakes. No \"lessons learned\" without the receipts.\n\n**n8n self-hosted**: runs on the Hetzner VPS for free. Handles all scheduling, webhook routing, and API calls. Add a 2GB swap file early — n8n can spike on heavy loads.\n\n**Prompt caching**: this one change cut Claude API costs by ~60%. Caching the system prompt and batching overnight runs brought spend from ~$40 to ~$20/month.\n\n**Cloudflare KV for analytics**: Workers increment a view counter on each page load, a nightly cron rolls up daily totals. Free tier covers everything under ~100k reads/day — no separate analytics database needed.\n\nThe stack works. Whether it earns back the $31 is the question I'm documenting in real time.\n\nFull breakdown with every line item: [builderlog.net](https://builderlog.net/blog/automation-stack-31-per-month/)\n\nHappy to go deep on n8n setup, Claude API cost optimization, or the Cloudflare Workers + KV pattern.", "url": "https://wpnews.pro/news/i-built-an-ai-publishing-stack-for-31-month-real-numbers-after-15-posts", "canonical_source": "https://dev.to/moonshot_1341/i-built-an-ai-publishing-stack-for-31month-real-numbers-after-15-posts-4dbd", "published_at": "2026-07-10 14:31:18+00:00", "updated_at": "2026-07-10 14:44:01.282634+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-infrastructure", "mlops", "artificial-intelligence"], "entities": ["n8n", "Hetzner", "Claude", "Cloudflare", "builderlog.net"], "alternates": {"html": "https://wpnews.pro/news/i-built-an-ai-publishing-stack-for-31-month-real-numbers-after-15-posts", "markdown": "https://wpnews.pro/news/i-built-an-ai-publishing-stack-for-31-month-real-numbers-after-15-posts.md", "text": "https://wpnews.pro/news/i-built-an-ai-publishing-stack-for-31-month-real-numbers-after-15-posts.txt", "jsonld": "https://wpnews.pro/news/i-built-an-ai-publishing-stack-for-31-month-real-numbers-after-15-posts.jsonld"}}