Approval is the only human step
Autonomous Ad Engine
A paid-ads engine that generates, measures, and re-invests in its own creative — humans only approve.
- Meta Ads
- Agent SDK
- Higgsfield
- Human-in-the-loop
Proof pack — vault-compiled, human-gated, shipped
How it's built
The problem
Staitmint — an iOS AI personal assistant — needed paid-acquisition creative at startup volume: static plates, feature demos, UGC-style video, all recognizably one brand. The classic failure mode is drift: ten generated ads that read like ten different companies, with no way to trace which creative decision earned which result. The brief was a system that generates at volume, holds one voice, and accounts for itself — without a creative team.
The system
The brand lives in an Obsidian vault that is simultaneously human-editable documentation and a typed database: voice, lexicon, and personas in plain notes, every one schema-validated so a malformed edit fails the build instead of shipping off-brand. Exactly one voice is active at any time. A compile step turns the vault into generation context — and stamps every asset with a voiceVersion, the SHA-256 of the exact inputs that produced it. Attribution exists before the ad does.
Generation runs on Higgsfield: avatar-led UGC video and clean static plates, with the real app UI composited in deterministically — never AI-redrawn. Finished creative lands in Telegram, and approval is the only human step: the bot delivers each asset, one tap approves or rejects, and the decision commits straight back into the vault.
Approved creative ships to Meta, campaigns scaffolded through the official meta-ads CLI. Performance returns through the Graph API as per-ad, per-day rows joined to each asset's voiceVersion, with GA4 carrying the on-site funnel — so spend and response attribute to the exact voice revision that generated the ad, and the creatives that perform seed new campaigns. The loop closes itself.
What it produced
The creative set above is the output: two static ad plates and a hybrid UGC spot, generated in one locked brand voice and shipped to Meta. Behind them sits the working machinery — a schema-validated brand vault, per-asset voiceVersion stamping, a one-tap Telegram approval pipeline, and per-ad daily insight ingestion joined to creative attribution. A full-loop architecture where a human touches exactly one step.
VaultObsidian
The brand as a database: voice, lexicon, and personas in human-editable notes, schema-validated on every build — exactly one voice active at a time.
Obsidian vault · Zod schemas
CompileClaude
The vault compiles into generation context, and every asset is stamped with a voiceVersion — the SHA-256 of its exact inputs — before anything is generated.
Claude Agent SDK · TypeScript
GenerateHiggsfield
Image and video ads in one locked identity: avatar UGC, static plates, deterministic composites — the real app UI is composited, never AI-redrawn.
Higgsfield MCP · Higgsfield REST API
ApproveTelegram
The only human step. The bot delivers finished creative; one tap approves — and the decision commits back into the brand vault.
Telegram Bot API · GitHub
LaunchMeta
Approved creative ships to Meta, campaigns scaffolded through the official meta-ads CLI.
Meta Ads · meta-ads CLI
TrackMeta · GA4
Insights return per-ad, per-day and join to each asset's voiceVersion — performance attributes to the exact voice revision that produced the ad.
Meta Graph API · GA4 Data API
- ↺ winners seed new campaigns
