We Run AI Marketing Agents. Here's What We Extracted Into a Free Tool.
Vibe coding has a gap.
You use Claude Code or Cursor to build your side project in a weekend. The code works. The deploy is automated. You push to main and it's live.
Then you open a blank text editor to write a launch post and stare at it for an hour.
The build side is solved. AI writes your code, runs your tests, handles your deploys. But marketing? You're still doing that by hand. Manually writing Reddit titles. Guessing which subreddits to post in. Crafting a Product Hunt tagline from scratch. Trying to figure out if you're positioning against Notion or Obsidian or neither.
We know this problem because we lived it — and then accidentally built a solution.
Six Months of AI Marketing Agents
Ultrathink runs 10 AI agents that operate an e-commerce store. One of them is a marketing agent. It's been running autonomously since January 2026 — writing blog posts, managing a content calendar, coordinating social distribution across Bluesky and Reddit.
Here's what the marketing agent's daily workflow actually looks like:
- Read
content_calendar.yml— what's scheduled for today? - Check social signals — what topics are trending in developer communities?
- Cross-reference with long-term memory — did we already cover this angle?
- If a post is due: write it, run through a publish gate, commit, push, deploy.
- Create distribution tasks for the social agent — which platforms, what framing.
The publish gate alone catches more problems than you'd expect. It enforces pacing (max 4 posts per week, minimum 1-day gap), word count limits (800-1500 words), security scans (no admin routes or API paths leaked), and even flags phrases that read as obviously LLM-generated.
After six months and 40+ published posts, one pattern kept repeating: the hardest part isn't the writing. It's the strategy. What's the angle? Who's the audience? Where do you post it? What do you say in 280 characters vs. a full Reddit post?
That's the piece we extracted.
The Launch Brief Generator
Paste a GitHub repo URL (or describe your project in plain text) and get a complete launch strategy in seconds. No signup required.
Here's what happens on the backend:
User input (repo URL or description)
↓
GitHub API fetch (README + repo metadata)
↓
Prompt construction (project context + marketing framework)
↓
LLM structured output
↓
7-section launch brief
Step 1: Context extraction. If you give us a repo URL, we fetch the README via GitHub's API, pull the repo description, primary language, and topic tags. This gives the LLM actual project context instead of working from a one-sentence description.
Step 2: Prompt construction. The prompt isn't "write marketing copy for this project." It's a structured framework built from what we learned running our own marketing operation. It asks the LLM to reason about positioning before writing copy — who's the audience, what alternatives exist, what's the unique angle. The social posts come last, informed by that strategic context.
Step 3: Structured output. The response comes back as structured sections, not a wall of text. Each section is independently copy-able because you'll use them in different places.
The seven sections:
- One-Line Pitch — your elevator pitch, under 15 words
- Target Audience — who needs this and why they'd care
- Positioning — how you're different from the obvious alternatives
- Social Posts — five platform-specific posts (Twitter/X, Reddit, LinkedIn, Hacker News, Bluesky), each tuned to that platform's format and culture
- Blog Post Outline — a five-section technical blog structure
- Launch Checklist — 10-step launch day playbook
- Growth Hooks — three creative distribution ideas specific to your project
Why Platform-Specific Posts Matter
This is the piece most developers skip. You write one announcement and paste it everywhere. But a Reddit post that works in r/SideProject is wrong for Hacker News. A LinkedIn post that works for your professional network reads as corporate fluff on Twitter.
We learned this from our social agent's engagement data. Posts tailored to platform conventions get 3-5x more engagement than cross-posted text. A "Show HN" title follows specific unwritten rules (no exclamation marks, lead with what it does, keep it under 80 characters). A Reddit post to r/webdev needs a different frame than r/SideProject — technical credibility vs. builder empathy.
The Launch Brief Generator produces five distinct posts because we've seen how much the framing matters.
Example Output
Here's a truncated brief generated from a real repo — a CLI tool for managing dotfiles:
One-Line Pitch: Symlink-free dotfile management that works across machines without touching your home directory.
Target Audience: Developers who work across multiple machines (work laptop, personal desktop, servers) and are tired of fragile symlink scripts breaking on OS updates.
Show HN title: Show HN: Dotkeeper -- manage dotfiles without symlinks or home directory pollution
That "symlink-free" angle came from the LLM reading the README and identifying the key differentiator. Most developers writing their own launch copy would lead with features. The brief leads with the problem it eliminates.
Rate Limiting and What's Next
The free tier gives you 3 generations per day per IP. Enough to try it on your main project and a couple side projects. No account needed — just paste and go.
What's coming next: a Social Post Generator (paste your README, get a week of scheduled posts), a README Roaster (AI critiques your README for marketing effectiveness), and a Landing Page Generator (describe your project, get deployable HTML).
The thesis is simple: every step between "code works" and "people know about it" should be as automated as the coding itself. We're building the tools to close that gap.
Try it at ultrathink.art/vibe-marketing.