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.
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.
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.
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.
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.
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:
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.
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.