Automate 7 Projects Marketing with AI for $40 APSquared automates marketing for seven products—BarGPT, TVFoodMaps, Legally Vibing, Idea Launch, FindMyBnB, WordSmash, and its own site—using two AI coding assistants, Claude and Codex, for a combined $40/month. Each project carries a self-contained marketing agent in its own repo, with a brain file (AGENT.md) and memory logs, and runs one activity per session—social posts via Post Bridge, SEO pages, blog articles, directory submissions, or engagement sweeps—selected by longest gap since last run. The system avoids centralized AI drift by sealing each agent to its own project data. How We Automate Marketing for 7 Projects on $40/Month — Claude + Codex Inside APSquared's two-assistant marketing machine. Each project gets its own self-contained AI marketing agent, split between Claude and Codex, and the whole operation runs on two $20 subscriptions. Running a portfolio of small products has one brutal, recurring cost that never shows up on a server bill: marketing every one of them, forever. At APSquared https://apsquared.co we ship a lot of little bets — BarGPT https://www.bargpt.app , TVFoodMaps https://www.tvfoodmaps.com , Legally Vibing https://www.legallyvibing.com , Idea Launch https://idea-launch.io , FindMyBnB https://www.findmybnb.co , WordSmash https://wordsmash.apsquared.co , and this site itself. Seven products. Each one needs social posts, SEO pages, directory submissions, and someone paying attention to what's working. That's a full-time marketing job I don't have time to do and can't afford to hire for. So I automated it. The entire marketing operation for all seven projects runs on two AI coding assistants and a combined $40/month — a $20 Claude plan and a $20 Codex plan. No agency, no marketing SaaS stack, no per-seat automation platform. Here's how it actually works. 🧠 The core idea: one self-contained agent per repo The mistake most people make with "AI marketing automation" is building one giant brain that tries to know everything about every product. It hallucinates, it mixes up your projects, and it drifts. We do the opposite. Every project carries its own marketing agent inside its own repo. Nothing is centralized. A project's agent is just two things living next to the code: — the brain. Product facts, brand voice, target channels, budgets, seasonal hooks, and the social account IDs for that specific product. This is the marketing/AGENT.md only source of truth the agent is allowed to use.— the memory. What's been posted, which keywords have been used, which directories have been submitted, and a running activity log. marketing/logs/ Plus a marketing/TASKS.md file — the human queue, for anything that needs me more on that below . The rule that makes it work: an agent never reads outside its own repo at runtime. BarGPT's agent knows nothing about TVFoodMaps. It can't invent a metric, borrow another product's voice, or post to the wrong account, because it literally can't see them. Account IDs and directory seeds get copied in once at setup time, and after that the agent is sealed in its own world. 🔁 One run = one activity Each marketing run does exactly one thing. Not "do marketing" — one specific activity type: social — write 2–3 posts and schedule them for tomorrow via Post Bridge https://post-bridge.com , never same-day, so there's always a review window. pseo — generate a batch of 3–5 programmatic-SEO pages, each targeting a distinct keyword, through the repo's real content system. blog — write one substantive article like this one . directory — prepare a full submission package for a high-value directory. engagement — sweep Reddit/X for genuinely relevant threads and draft helpful, non-promotional replies. The agent picks the activity with the longest gap since it last ran — a dead-simple rotation that keeps every channel warm without me scheduling anything. Then it applies don't-repeat rules against its own logs: no topic from the last 20 posts, no keyword already in the content ledger, no directory already prepared. The memory files aren't decoration — they're what stops the agent from posting the same thing twice. Every run ends the same way: log it, commit content and marketing-state changes separately , and push. 📡 How the posts actually go out: Post Bridge Writing a good post is only half the job — the other half is getting it onto X, Instagram, TikTok, and Facebook without me touching four different apps. That's where Post Bridge https://post-bridge.com does the heavy lifting. Post Bridge is a single API/CLI that fans one post out to every connected account. We connected each product's social accounts once, and the agent references them by numeric account ID — every project's AGENT.md holds its own list, so BarGPT's agent posts to BarGPT's X, Instagram, and Facebook, and nothing else. When a social run finishes, it schedules each post with a one-liner: npx postbridge-cli post --caption "