◉ANTIGRAVITY LABJP
Articles/Agents & Manager
◈ Agents & Manager/2026-06-04Advanced

Scheduling an autonomous agent fleet to run 6 sites solo — a timetable that avoids collisions and spam flags

A real example of the autonomous-agent scheduling I built to run 6 sites and an app business in parallel, solo: off-peak distribution, a daily generation cap, and collision avoidance, drawn from the actual timetable and the reasoning behind it.

AI Agents14Autonomous OperationScheduling3Workflow AutomationSolo Development4

✦ Premium Article

When you run 6 sites and an app business alone, the bottleneck is not "what the work is" but "when, and who, runs it." The more work you hand to autonomous agents, the more that task collisions, resource contention, and — from the outside — unnatural behavior surface as problems before quality ever does. When I recently slotted a one-off job, applying to 11 AdMob server-side bidding partners, in between the standing operations, I felt anew that scheduling design is the substance of parallel operation.

I have built apps solo since 2014, and today I run 4 technical blogs (the Claude / Gemini / Antigravity / Rork Labs) and 2 reading-oriented blogs via autonomous-agent scheduled tasks. On top of 16+ article-generation tasks a day, AdMob floor tuning, report pulls, and site integrity checks run daily. Here is the timetable I built to run all of this without breaking, and the judgment behind it.

First, map the "peak hours"

The starting point of scheduling was not features but mapping "the hours to avoid." Run agents while readers are concentrated, and cache purges and rebuilds hit the reading experience directly. Pile every task into the dead of night, and multiple tasks fire at the same moment and fight over resources.

The peak windows I decided to avoid are morning 7–9 (commute), midday 12–13, and evening into night 18–23 (prime time). On top of that, I wrote the times of existing automated jobs onto the map as collision points (reading-blog posting at 2:30, wallpaper-app data updates at 3:30 and 15:30, cache clears at 11:48 and 23:40). New tasks go only into the "open time" left after blacking those out.

Stagger 4 sites × 4 types in 45-minute steps

The actual timetable places 4 types per site (premium / hands-on review / troubleshooting / standard article) staggered by 45 minutes to an hour, per site and per type.

# Off-peak distribution of autonomous tasks (JST, excerpt)
02:00  Claude Lab     premium
02:45  Gemini Lab     premium
04:00  Antigravity    premium
04:45  Rork Lab       premium
05:30  Claude Lab     hands-on review
...
11:00  Claude Lab     troubleshooting
14:00  Antigravity    troubleshooting
15:00  Claude Lab     standard article
17:00  Rork Lab       standard article

The 45-minute step exists because generating one article — plus two languages, plus the quality gates, plus push — finishes in around 30 minutes at most. I keep enough margin that a task running a bit long does not bleed into the next, while packing in as much as the open time allows. Making "processing time + buffer" the unit of one slot makes the timetable far easier to assemble.

From an agent-design standpoint, the key is to make each task fully independent. If tasks share state, one's delay drags the other in. I complete each site's repository operations in a separate working directory and keep zero state passed between tasks. A parallel-operation schedule only makes collisions vanish "just by staggering times" once independence is guaranteed.

✦

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
✦An off-peak timetable that runs 16+ autonomous tasks without collisions, and the reasoning behind its design
✦A per-site daily generation cap to avoid Google's 'scaled content abuse' classification
✦How to slot a one-off operations task (like applying to AdMob bidding partners) into a standing fleet
Secure payment via Stripe · Cancel anytime
✦

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Antigravity Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

Related Articles

◈ Agents & Manager2026-10-16
Before Handing an Agent a .zip: Dropping .git Cut 29 MB to 15 MB, and 28 Secret Warnings Turned Out to Be Noise
Antigravity app v2.23.0 lets you attach a .zip. I packed my own repository to count what .git weighs and how many secret-scan warnings are false alarms, and I leave the full Python script that excludes, scans, and writes a manifest.
◈ Agents & Manager2026-10-14
When the App Reads an API Response by Position, I Put a Gate in Front of the Upload So Shipped Versions Don't Crash at Launch
A client that reads a server list by index, as a wallpaper app does, leaves old shipped versions in the wild for a long time. Deleting or reordering a field can crash them at launch. This note shows an append-only check and a hash ledger that freezes shipped version directories, with the output from actually running them.
◈ Agents & Manager2026-10-14
I Expected Agent PRs to Wait Longer Than Human PRs, but 246 Public Pull Requests Showed the Opposite
A count of 246 July-August 2026 PRs in dotnet/runtime, comparing time to the first human reaction on agent-opened PRs and human-opened PRs. Includes the measurement script and a stale-PR check for solo projects.