How I Run My Entire Business With One AI Agent
Back to Blog
AI Agents2025-09-18· 7 min read

How I Run My Entire Business With One AI Agent

We need to write a 950-word blog post first-person, titled 'How I Run My Entire Business With One AI Agent'. Voice: Billy, BMX rider and AI engineer who built an AI agent called OpenClaw that runs his 3 brands automatically.

#ai-agents#automation

I ride BMX in the morning and ship code in the afternoon. That's not a metaphor — that's literally my schedule. And the reason I can do both is because a single AI agent runs my entire operation while I'm not at the keyboard.

I built an agent system that manages three brands: my BMX content (@billy_kennedy_bmx, @bmx4beginners), my AI tools business (Axon at axon.nepa-ai.com), and NEPA AI — the agency side. Social posting, content generation, lead research, bounty hunting, image generation. All of it runs on crons.

Here's how it actually works.

The Core: brand_cron.py

Everything flows through one Python script: brand_cron.py. It uses a ThreadPoolExecutor to run sync Playwright sessions inside an async context. Each brand gets its own execution thread, its own browser session, its own posting logic.

When the cron fires, it pulls the next piece of content from the queue, generates a caption if needed, extracts a thumbnail from video via ffmpeg, and posts to the platform. Instagram, Pinterest, X, LinkedIn, Threads, Facebook — all browser-automated. No platform APIs. Playwright controls Chrome via CDP (Chrome DevTools Protocol), and the platform can't tell the difference between my agent and me clicking buttons.

Instagram was the hardest to crack. The Create button is an SVG nested inside an anchor tag, and if you click the SVG directly, it navigates to Stories instead of opening the post composer. The fix: walk up the DOM to the <A> ancestor and click that. The Share button only works via Tab navigation + Enter — mouse.click() never fires it. Account switching is done by navigating to More → Switch accounts and finding the right DOM row by text content.

These aren't theoretical solutions. All three Instagram accounts posted successfully today.

What the Agent Actually Does Daily

Morning (9 AM): BMX cron fires. Posts to @billy_kennedy_bmx on X, Pinterest, Threads. Pulls from the content queue — videos, photos, workout clips.

Noon: Axon cron fires. Posts product highlights to @AxonModalAI on X, pins to Pinterest, updates LinkedIn. Rotates through 18 products with a 72-hour cooldown per product so nothing repeats.

Afternoon: Lead engine runs. Scrapes business directories, researches contacts, scores them, adds to the master pool. Currently sitting at 474 leads across automotive, legal, and real estate verticals.

All day: Bounty monitor scans GitHub every 5 minutes during peak hours (10-11 AM, 5-7 PM ET). When it finds an open bounty, it auto-claims, generates a proposal with GPT-4.1, delegates the fix to a coding agent, and pings me on Telegram when the PR is ready.

All day: X reply monitor watches tech influencers — @mckaywrigley, @therundownai, @swyx — and auto-drafts contextual replies to build visibility for @AxonModalAI.

The Stack

  • Playwright + CDP for all browser automation
  • Python for orchestration (brand_cron.py, social_poster.py, bounty_monitor.py)
  • GPT-4.1 for content generation and proposal writing
  • ffmpeg for video thumbnail extraction
  • 28 compiled C++ libraries for the creative processing pipeline (audio, video, 3D, image)
  • 12 Python bridge modules connecting to those C++ libs via ctypes
  • MCP server exposing 79 tools to any AI client

No n8n. No Zapier. No third-party automation platforms. Just Python scripts, cron jobs, and browser automation running on my own machine.

The Numbers

This isn't a demo. Here's what shipped in a single day last week:

  • 3 Instagram accounts posted simultaneously
  • Pinterest pins going out every 2 hours
  • X posts on both @billykennedybmx and @AxonModalAI
  • 6 auto-replies sent to tech influencer tweets
  • 353 images generated (174 blog heroes, 71 BMX shots, 108 game assets)
  • 10 bounty PRs submitted worth ~$2,275
  • Lead pool grew by 81 new contacts

Total human intervention: about 30 minutes of reviewing logs and approving a couple of edge cases.

Why One Agent, Not Ten

I tried the multi-agent approach. Separate systems for each platform, each brand, each task. It was a maintenance nightmare. Every integration point is a failure point, and when you have 15 different services talking to each other, something is always broken.

One agent with one codebase means one place to debug, one place to update, one set of logs to check. When Instagram changes their DOM (and they do, constantly), I fix it in one file and all three accounts benefit.

What I'd Tell You

If you're still manually posting content, manually researching leads, manually applying to bounties — you're leaving time on the table. Not money, time. The money follows when you stop spending 40 hours a week on tasks a script can handle.

You don't need a fancy platform. You need Python, Playwright, and the willingness to automate the boring stuff.

I built the tools I use daily and packaged them at axon.nepa-ai.com. If you want to see what a real automation stack looks like — not a demo, not a landing page, but the actual tools running my business — that's where to start.