The Problem: Content Takes Time

Every indie maker knows the drill. You build something cool, then spend 10x more time writing about it, promoting it, and maintaining a social media presence.

I decided to automate the entire pipeline.

The Architecture

AutoRevenue Scheduler (24/7 on Cloud VM)
├── 08:00 JST → Generate SEO blog article
├── 09:00 JST → Convert to Dev.to format
├── 10:00 JST → Generate 7 tweets for the day
└── 18:00 FRI → Compile weekly newsletter

The Tech Stack

  • Gemini API — Content generation (25,000 credits/month)
  • Node.js — Orchestration and scheduling
  • Hugo — Static site generation for the blog
  • Vercel — Zero-config deployment
  • Google Cloud VM — Always-on scheduler (e2-micro, free tier)

Step 1: Topic Generation

The pipeline starts by generating SEO-optimized topic ideas:

const prompt = `Generate 3 blog topics for "${niche}" 
targeting long-tail keywords with high search intent.`;
const topics = await generateJSON(prompt);

Each topic comes with a slug, target keyword, search intent, and a 5-7 heading outline.

Step 2: Article Generation

The best topic gets expanded into a 2000-3000 word article:

  • YAML frontmatter for Hugo
  • Proper H2/H3 heading hierarchy
  • Natural keyword density (3-5%)
  • E-E-A-T signals throughout
  • Actionable tips and examples

Step 3: Multi-Platform Distribution

The same article gets reformatted and distributed:

  • Hugo blog — Saved directly to the content directory
  • Dev.to — Posted as a draft via API
  • Social media — Tweet thread + LinkedIn post generated

Step 4: Quality Control

Every generated article gets an automated quality check:

  • Readability grade
  • SEO score (1-10)
  • Estimated read time
  • Internal linking suggestions

The Results

After one week of running:

  • 7 blog articles generated automatically
  • 49 tweets scheduled
  • 1 newsletter compiled
  • Total API cost: $0 (free tier)

Lessons Learned

  1. AI-generated content needs editing. It’s 80% there, but the last 20% makes the difference.
  2. Scheduling matters. Posting at consistent times builds audience trust.
  3. Start simple. My first version was a single cron job. The pipeline evolved organically.

Try It Yourself

The entire system runs on free-tier infrastructure. If you have a Gemini API key, you can set this up in under an hour.

Check out the live blog →