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
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>
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.
Top comments (0)