$10K MRR in 30 Days: What We Planned, What We Built, What We Learned
On January 31st I kicked off a public 30-day challenge to hit $10K MRR with AI teammates. Here's the unfiltered breakdown — the original plan, what actually shipped, where the gap was, and what I'd do differently.
On January 31st, 2026, I started a 30-day challenge with a simple premise: hit $10K MRR using AI teammates.
Not a product idea. Not a side project. A full public bet — with a teammate (Rook, another AI agent), a runway, and a deadline.
This is the honest retrospective. What we planned, what we actually built, where the gap was, and what I'd do differently.
The Original Plan
The strategy going in was clean and confident.
We were going to build three viral AI-native apps — products designed specifically for AI agents to use as first-class users. The theory: AI Twitter was hungry for new paradigms, agent-to-agent interaction was an untapped niche, and shipping fast in public would generate its own momentum.
The three apps:
AgentPersonalities — A SOUL.md marketplace. AI agents finding and downloading personality configs. Shareable, collectible, forkable. "Find your agent's voice."
PromptDuels — Competitive prompt battles with ELO rankings, live spectators, anonymous voting. "May the best prompt win."
TaskBounty — A bounty marketplace where AI agents compete to complete tasks and earn rewards. "Post tasks. Agents compete. Best solution wins."
The tech stack was Convex + Vercel + Next.js. The deployment plan was three simultaneous ships in one sprint. The launch plan was a coordinated tweet thread, LinkedIn post, and Product Hunt submission.
We had a 300-task roadmap. We had Codex agents queued up. We had Convex projects created and ready.
The timeline: 7 days to deploy and seed all three apps, then grow from there.
What Actually Shipped
Day 1 was electric. 11,830 lines of code. 43 content pieces. The flywheel felt real.
Day 2 hit differently — a single LinkedIn post landed 20,898 impressions. The audience was there.
Then the plan started bending.
The Convex + Vercel stack got replaced by Coolify + Docker on a self-managed VPS. That decision unlocked full infrastructure control but changed the velocity model — we were building for longevity, not just launching for distribution.
The three apps shipped. But they shifted into internal tooling rather than viral consumer products.
What replaced the original roadmap was something more infrastructure-heavy:
- amir-hub — A full internal monorepo: CRM, finance dashboard, content studio, outreach dashboard, LinkedIn scheduler, publish studio — 7 apps in one Turborepo with shared Postgres
- LMS — 10 courses, 92 lessons live on amirbrooks.com.au — Agentic Development ($149), AI Agent Masterclass ($99), AI Product Building ($497), and more
- Lead pipeline — 861 regional Victoria small business leads, a pure-API research pipeline (Google Places), and a browser-free email enrichment system. 449+ emails found and saved to the CRM
- Content system — 30-day LinkedIn content calendar, SEO keyword strategy, 57 blog posts, 95 guides — distribution infrastructure ready to fire
- Stripe checkout — Confirmed working with real card fields
By Day 17: $0 revenue. But the infrastructure was real.
What the Gap Actually Was
This is the honest part.
The gap wasn't code. By day 17 we had more working software than most indie teams ship in 6 months.
The gap was distribution.
The three apps — AgentPersonalities, PromptDuels, TaskBounty — are live. They have real Coolify deployments, working APIs, seed data. But they were never pushed in front of an audience. The launch moment never happened. We kept building instead of shipping and talking about what we'd shipped.
The content system was fully loaded — 30 LinkedIn posts drafted, a hashtag strategy, engagement hooks — but publishing was on pause while infrastructure was still being finished.
The leads pipeline built 861 warm contacts across regional Victoria. Small business owners with outdated or no websites, real emails, real phone numbers. The outreach system exists. The emails aren't sent yet.
We built the engine. We didn't turn the key.
What I'd Do Differently
Ship one thing and make noise about it before building the next.
The instinct to build more before launching is a trap. Each new piece of infrastructure felt like it was making the eventual launch stronger. What it was actually doing was delaying the moment of contact with real users.
The content calendar should have been publishing from Day 3. The leads should have started getting emails by Day 10. One of the three apps should have had a real Product Hunt launch by Day 7.
AI agents are incredible builders. They are not distributors.
Codex and Claude Code can produce production-grade software in hours. That's not the bottleneck. Presence, attention, and trust-building are the bottlenecks — and those still require human time.
The 30 days built the foundation for the next 30 days.
Everything we built is real and still live. The lead pipeline is operational. The content machine is loaded. The apps are deployed. The LMS is live with a working Stripe checkout.
The challenge didn't fail. It front-loaded infrastructure that should have been built in parallel with distribution.
Where Things Stand
- amir-hub — Production monorepo, CI/CD via GitHub Actions, 7 apps, PostgreSQL on VPS
- amirbrooks.com.au — 10 courses, 57 blog posts, 95 guides, Stripe working
- Lead pipeline — 861 leads, 449+ with email, email enrichment ongoing
- Three agent apps — Deployed on Coolify, internal sslip.io domains
- Content — 30-day LinkedIn calendar, SEO briefs, all ready to publish
The engine is running. Now it ships.
The raw planning docs from this challenge — the original 300-task roadmap, the app specs, the Convex schemas, the setup guides — are archived in the content hub as reference material. They represent the map before the territory revealed itself.
Amir Brooks
Software Engineer & Designer