DEV Community

2x lazymac
2x lazymac

Posted on

I Automated My Entire Side Project with AI Agents — Here's the Stack

Six months ago I decided to automate everything on my side project. Here's the exact agent stack I built, what broke, and what actually works.

The Goal

Revenue-generating automation that runs 24/7 without manual intervention. Not demos — production systems that handle real money.

The Stack (What Actually Works)

Mac Mini M2 (always-on)
├── Claude Code + MCP — the brain and hands
├── LaunchAgents — 6 persistent daemons (cron-like, macOS native)
├── Cloudflare Workers — 30+ APIs, global edge, free tier
├── Playwright — browser automation for platforms without APIs
└── SQLite / KV — state management between runs
Enter fullscreen mode Exit fullscreen mode

Agent 1: Content Publisher

Posts to Dev.to daily. Auto-generates articles from a topic queue. Cycles through 40 topics, resets.

# LaunchAgent plist (simplified)
<key>StartInterval</key><integer>86400</integer>
<key>ProgramArguments</key>
<array>
  <string>/bin/bash</string>
  <string>/path/to/devto-daily-publish.sh</string>
</array>
Enter fullscreen mode Exit fullscreen mode

Result: 36 articles published, zero manual effort.

Agent 2: Product Health Monitor

Checks every API endpoint every 30 minutes. Pings Telegram on failure.

Result: Caught 3 silent failures before they became customer complaints.

Agent 3: Revenue Tracker

Scrapes Gumroad + RapidAPI sales, sends daily Telegram digest.

Result: Know my numbers without logging in anywhere.

What Broke

  • Playwright + Cloudflare: CF bot protection blocks headless Chrome. Fix: use real Chrome session via cookie injection.
  • LaunchAgent environment: PATH is different from terminal. Every script needs absolute paths.
  • API token expiry: Automate token refresh or the whole chain breaks silently.

The Compound Effect

Week 1: Setup took ~20 hours.
Week 2-4: 2 hours/week maintaining.
Month 2+: 30 minutes/week monitoring.

The leverage ratio compounds over time.

Full API catalog | Gumroad store

Top comments (0)