built today · live-tested · zero ad spend
sfads — subfracture ads

Building Meta ads,
without the perspiration.

We built our own tool for creating Facebook & Instagram ads — one that talks straight to Meta, does the things the official tools can't, and cannot make an expensive mistake.

Scroll, or poke the two live demos below. Nothing here touches a real ad account.

the problem

Building ads by hand is slow, fiddly, and easy to get wrong.

Every campaign means clicking through Meta's Ads Manager — dozens of settings per ad, re-typing the same targeting, copy-pasting IDs, hoping nothing's mis-set before it goes live and starts spending. Meta's own interface changes constantly and breaks in small ways. The off-the-shelf command-line tool helps a little, but it's missing exactly the parts that take the most time.

before
  • Can't search Meta's targeting interests
  • Can't target a radius around a specific store
  • Can't duplicate an ad set
  • Easy to launch something live by accident
  • No record of what changed
with sfads
  • One command searches interests
  • One command builds store-radius targeting
  • One command clones an ad set
  • Nothing goes live unless you explicitly say so
  • Every change is logged automatically
what it is

A small set of typed commands that talk directly to Meta.

Meta gives us an interface (an "API") behind the buttons. Our access to it is the real capability — the official app is just one opinionated way to use it. sfads lets us write our own commands over that interface, so we can do exactly what the agency needs and add new abilities whenever we want.

Three commands today. Each is a plain instruction you can run in a terminal — or that one of our AI agents can run on your behalf.

interest search
Find Meta's targeting interests (e.g. "fitness", "wellness") and their real IDs — the building blocks of an audience.
adset create-geo
Create an ad set that targets a radius around one of our stores. You pick the store and the distance; it composes the rest.
adset duplicate
Clone an existing ad set, with small tweaks (a new name, a different radius). No rebuilding from scratch.
try it · demo

See a command run.

Click a command. This is a simulation — it shows exactly what really happens, with no real account touched. Notice that creating an ad set first shows a preview; nothing is made until you choose to apply — and even then it's created paused.

~/unbasic-brain/tools/sfads
— pick a command below —
the important part · try to break it

The safety rules aren't reminders. They're physics.

Each of our stores is only allowed to advertise within its own area. With sfads, that isn't a note someone might forget — it's built into the tool. Ask for a radius bigger than a store's allowed area and the command simply refuses to run. There is no way to express the mistake.

Drag the radius past a store's limit and watch.

The same idea protects everything: ad sets are always created paused, real changes need an explicit go-ahead, unknown stores are rejected, and the secret access key is never shown or stored in a command. The tool is the guardrail.

why it matters beyond today

We didn't just save time. We built something that compounds.

Capability — what we can do — went up: three things the official tools can't, available instantly, by hand or by agent.

Capacity — how cheaply we can do more — went up further. Every new ability is now a small addition to this tool, not a whole new project. The next steps (build a full campaign, manage audiences, take something live) are increments. And the same core runs three ways from one place:

by hand
A person in a terminal — works even with no AI involved.
by agent
One of our AI assistants runs it for you, safely, within the same rules.
on a schedule
Automated, hands-off, overnight — same guardrails, same audit trail.
proof, not promises

It's been tested for real.

We ran the whole thing end-to-end against a sandbox ad account: created an ad set, read it back to confirm it was right, duplicated it, then cleaned everything up — all paused, with zero money spent. Then we tried hard to break it.

3
live verbs
85
automated tests
$0
ad spend
6 / 6
attacks blocked

An adversarial review tried to force a live launch, target outside a store's area, sneak past the preview step, and leak the access key. Every attempt failed — the tool refused them all.