DEV Community

Cover image for I pivoted my dead SaaS into infrastructure for AI agents in one night
Crumbedsausage
Crumbedsausage

Posted on

I pivoted my dead SaaS into infrastructure for AI agents in one night

Nine users. Zero paying. That was ZuckerBot after months of building.

The original idea was straightforward: a consumer tool that helped small businesses create and manage Facebook ads without the complexity of Meta's Ads Manager. You'd describe what you wanted, and ZuckerBot would generate the campaign, targeting, and creatives for you.

It worked. Technically. But nobody wanted to pay for it. The nine people who signed up used it a few times and drifted away. Classic SaaS graveyard stuff.

I was about to shut it down when I realized something obvious.

The code was already an API

The entire backend was structured as clean REST endpoints. Campaign creation, ad set configuration, creative generation, targeting research, performance monitoring. Ten endpoints, all talking to the Meta Ads API, all handling the complexity of translating simple inputs into the mess of objects Meta requires.

The consumer UI was just a thin layer on top of this. The actual value was in the translation layer between "I want to run an ad for my coffee shop" and the 47 nested API calls that Meta needs to make that happen.

I wasn't building a consumer app. I was building infrastructure.

The pivot took one night

Here's what I actually did:

  1. Stripped the consumer UI. Not deleted, just deprioritized. The API was already documented because I'd built it API-first.

  2. Added proper API key authentication. The consumer app used session-based auth. I added API key generation, rate limiting, and usage tracking. Supabase made this fast.

  3. Built an MCP server. This was the key move. Model Context Protocol lets AI agents like Claude, Cursor, and others call tools directly. I wrapped all 10 API endpoints as MCP tools with proper input schemas and descriptions.

The MCP server is maybe 200 lines of code. It maps each tool call to an API request, handles auth, and returns structured responses. Nothing clever. Just plumbing.

  1. Set pricing that makes sense for API usage. Free tier: 25 ad previews per month, no credit card. Pro: $49/month for unlimited. The free tier lets agents experiment without friction.

What it does

ZuckerBot gives AI agents the ability to run Meta ad campaigns end to end. Ten tools:

create_campaign - Creates a new Meta ad campaign with objective and budget
create_ad_set - Configures ad sets with audience targeting and scheduling
create_ad - Creates ads with headline, body, and creative
preview_ad - Generates a visual preview before publishing
get_campaign_insights - Pulls performance metrics (CTR, CPC, conversions)
list_campaigns - Lists all campaigns for an ad account
update_campaign - Modifies campaign settings
pause_campaign - Pauses a running campaign
get_targeting_options - Researches available audiences and interests |
validate_creative - Checks ad creative against Meta's policies before submission

The workflow an AI agent would follow:

  1. Research targeting options for the business category
  2. Create a campaign with the right objective
  3. Set up ad sets with audience targeting
  4. Generate ad creative
  5. Preview the ad to verify it looks right
  6. Validate against Meta's policies
  7. Launch
  8. Monitor performance and optimize

Every step is one tool call. An agent can go from "run Facebook ads for this product" to live campaign in a single conversation.

How to use it

  • As an API
bash
curl -X POST https://zuckerbot.ai/api/v1/campaigns \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Summer Sale Campaign",
    "objective": "CONVERSIONS",
    "daily_budget": 50.00,
    "ad_account_id": "act_123456"
  }'

Enter fullscreen mode Exit fullscreen mode
  • As an MCP server

Add to your Claude Desktop or Cursor config:

json
json
{
  "mcpServers": {
    "zuckerbot": {
      "command": "npx",
      "args": ["-y", "zuckerbot-mcp"],
      "env": {
        "ZUCKERBOT_API_KEY": "your_api_key"
      }
    }
  }
}

Enter fullscreen mode Exit fullscreen mode

Then just tell your AI: "Create a Facebook ad campaign for my coffee shop targeting people aged 25-45 within 10 miles who are interested in specialty coffee."

The agent handles the rest.

Getting an API key

Sign up at zuckerbot.ai
Free tier gives you 25 previews per month. No credit card required. You get an API key immediately.

What I learned

Consumer tools compete on UX. Infrastructure competes on reliability and developer experience.

I was trying to make a beautiful UI for something that AI agents don't need a UI for. The moment I stopped thinking about end users clicking buttons and started thinking about agents making API calls, everything clicked.

MCP is the distribution channel for AI-native tools.
When your tool is an MCP server, it shows up in Claude, Cursor, Windsurf, and every other client that supports the protocol. You don't need to build integrations. The protocol is the integration.

The same code serves both markets.
The API works for developers building custom integrations. The MCP server works for people who just want their AI to handle ads. Same backend, two interfaces, zero code duplication.

Dead SaaS products might be sitting on valuable infrastructure.
If you built something that talks to complex APIs and nobody's using the UI, ask yourself: would an AI agent want to use this? If yes, you might be one wrapper away from a completely different business.

Try it

Free tier. 25 previews/month. No credit card. Go break stuff.

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.