Mortals Automated Marketing
An in-house autonomous marketing system for Mortals. It drafts ads, emails, landing-page copy, and organic posts, then checks each item against budget rules, FDA-safe language, brand voice, and operator approval before anything can ship.
- In-house
- replaced the paid-media retainer
- Claim risk
- FDA-safe language before approval
- Spend drift
- budget rules before platform writes
- One queue
- human approval for customer-facing work
MAM brought Mortals' marketing workflow in-house: drafting, claim checks, budget rules, approvals, and platform writes in one private system.
One private system for Mortals marketing.
Agents draft the work. Convex enforces the rules. Connor approves customer-facing changes from one queue.
Draft
Agents draft ads, emails, landing pages, and organic posts from the current brand voice.
AI generation layerCheck
The system checks every draft for FDA-safe wording, brand voice, and banned claims.
FDA + brand-voice passApprove
Connor reviews customer-facing changes in a single queue with diffs and final approval.
Operator queueWrite
Approved changes go through typed MCP tools and first-party platform SDKs.
Typed tools + SDKsFive pieces make it work: a rules engine, typed tools, review gates, an FDA checker, and direct platform SDKs.
A deterministic rules engine.
Convex enforces platform budget caps, zero-sum reallocations, and a kill switch.
Budget caps · kill switch · zero-sumNineteen typed MCP tools.
Agents can only write through typed mam_* tools. Each tool validates input, applies business rules, and performs one controlled side effect.
The only legal write pathAn FDA copy checker as its own module.
The checker blocks banned claim verbs and rewrites symptom language before copy reaches the queue.
Banned verbs · required verbsDirect SDKs into every platform.
Meta, Google, TikTok, Klaviyo, Shopify, and organic channels are wired through first-party SDKs in the same repo as the rules engine.
First-party SDKs- Each paid platform has a hard budget cap.
- A single breach pauses every ad on every network.
- Scaling a winner means cutting a loser on the same platform; any update that does not net to zero is refused.
- Customer-facing copy clears the checker, the audit pass, and Connor.
MAM is private internal infrastructure, so the runtime isn't public. The architecture is: rules, tools, checks, and approvals.
Convex modules enforce platform budget caps, zero-sum reallocations, and the kill switch before any budget update can write.
private · Convex + TypeScriptTyped mam_* tools expose ads, budgets, Klaviyo flows, creative review, experiments, and strategy library reads to agents.
private · MCPEvery customer-facing draft passes generation, audit, FDA language checks, and operator approval before it ships.
privateNext.js routes give the operator one place to review work, budgets, performance, experiments, tasks, and integration health.
private · Next.js 15 + Convex

