Six months in. Solo. Evenings only. Here’s a candid look at what’s working, what isn’t, and what I’m changing for month 7.
The numbers — honestly
- Sites live: 46 (38 content / 5 SaaS / 3 plugins)
- Combined monthly traffic: ~17,000 real visitors (after filtering out Singapore-datacenter bot traffic, which inflated my numbers for months before I caught it)
- Revenue: $1,295/yr — almost entirely the Copy The Code WordPress plugin via Freemius
- AdSense: $1-5/mo (about to ship a real content cluster on marathi.community to push this)
What worked
One canonical config file per node. Every site has a _SITE.md with structured frontmatter. Every API the same. Running npm run empire shows the current state across all 46 sites in 4 seconds.
Shared platform Workers. Auth, billing, email, notifications, voting all live as central Cloudflare Workers. New sites that need user accounts plug in via auth.surror.workers.dev — no per-site OAuth setup.
Reusable component patterns. This site you’re reading is built from <Section>, <Card>, <IconBadge>, <StickyNote>, <DrawnArrow> primitives. The next site I ship reuses 80% of the same primitives.
What to stop doing
Equal-investment across all 46 sites. Traffic data shows 1 site (marathi.community) earns 90% of empire organic clicks. The other 45 get rounding-error traffic. Going forward: one-wave-per-quarter on the audience-real sites; the rest can wait.
Building infrastructure for hypothetical scale. I spent three weekends on a cross-site attribution worker before realising no two sites had enough revenue to make the data meaningful. Shipped the placeholder; deferred the rest until the trigger conditions hit.
The cost of context-switching
The single biggest hidden cost was switching between 46 sites’ codebases mentally. I lost ~30 mins per switch to “where was I in this?”
Two changes helped:
- Wave plan in
_SEQUENCE.md. One wave is in flight at a time. Other sites wait. - A canonical config + script that prints “what I was doing here”. Five seconds to context-restore instead of thirty minutes.
Month 7 priorities
Wave 1 cloud.clipboard.agency launch is the only revenue-shaped work on deck. Everything else is content + cleanup.