A multi-agent AI platform that turns a raw product brief into a grounded marketing strategy — then into a ready-to-publish, dated content calendar.
Built end to end — frontend, backend, and the multi-agent AI engine — by:
Planning a launch means segmentation, positioning, personas, a content calendar, platform-specific copy, hashtags, visuals, and QA — usually done with five disconnected tools and no memory between them.
Strategy lives in a doc, content lives in a scheduler, brand facts live in someone's head. Nothing stays consistent.
A single prompt to ChatGPT gives you a caption, not a strategy grounded in who the audience is and why it matters.
Generic tools have no QA pass, no claim verification, and no approval step before content ships.
Sada is a full-stack platform where specialized AI agents each own one job — research, positioning, copywriting, QA — and hand off structured, validated data to the next agent. Nothing is a raw paragraph of text passed hopefully downstream.
6 strategy specialists turn a product brief into segmentation, personas, journeys, objectives, and a campaign plan.
6 content specialists turn an approved strategy into on-brand posts, visuals, hashtags, and a dated calendar.
The creator reviews the strategy before content is generated, and can approve or send content back with feedback.
Crawlee 3
Better Auth 1.6
BullMQ 5
Mastra Core 1.54
Mastra Evals 1.6
Mastra Obs. 1.16
Tavily 0.7The browser talks only to the NestJS system of record. Nest persists each run, queues asynchronous work, and lets backend workers call Mastra through one canonical server-to-server client.
Backend records remain authoritative; pgvector supports scoped project knowledge.
Requests return quickly while workers execute generation asynchronously.
LLM, web research, embeddings, and image providers stay behind Mastra.
A raw product description becomes a complete, structured strategy: segmentation, targeting, positioning, personas, journeys, SMART objectives, and a campaign plan.
The approved campaign strategy is turned into a content brief, then researched, drafted, checked, approved by a human, illustrated, tagged, and scheduled.
| Specialist | Job | Workflow |
|---|---|---|
| Product Analysis | Extracts a structured product profile from the raw brief | Strategy |
| STP Strategy | Segmentation, targeting, positioning | Strategy |
| Buyer Persona | 1–3 grounded buyer personas | Strategy |
| Buyer Journey | Funnel stages and touchpoints per persona | Strategy |
| SMART Objectives | Measurable campaign goals | Strategy |
| Campaign Planner | Channels, budget allocation, content mix | Strategy |
| Content Researcher | Trends, hashtags, audience context | Content |
| Content Strategist | Content strategy from brief + research | Content |
| Copywriter | On-brand posts per platform | Content |
| Editor / QA | Reviews drafts, triggers a bounded rewrite | Content |
| Visual Prompt | Image/video prompts + generation per post | Content |
| Hashtag / SEO | Ranked hashtags and keywords | Content |
| Chat Title | Names each session for the workspace UI | Shared |
Agents don't just generate text — they call typed, bounded tools for anything that needs to be real: live data, brand rules, or a verifiable calculation. Every tool has a Zod input/output contract, same as an agent handoff.
Uses Tavily for current market, competitor, and industry signals.
Caches citable excerpts with publisher, URL, and relevance score.
Returns AI-summarized web research for faster content discovery.
Retrieves approved voice, claims, prohibited terms, and tone examples.
Marks each claim approved, evidence-linked, or unsupported.
Returns platform limits, hashtag conventions, CTA style, and formatting rules.
Turns approved posts into a dated, cross-platform publishing schedule.
Builds an enhanced visual prompt and image spec for each post.
Creates normalized, campaign-tracked URLs without a model call.
assumptions field instead of inventing numbers.A rule-based preflight and a claim-audit step catch platform, policy, and unverified-claim issues that don't need — and shouldn't rely on — a model call.
QA runs one review-and-rewrite cycle by design, keeping worst-case model time under the backend's fixed run deadline instead of looping until "perfect."
Approved brand facts are retrieved via pgvector before content is drafted, using swappable Gemini or local Ollama embeddings.
Visual prompt generation and hashtag/SEO generation run concurrently once copy is approved — they don't depend on each other.
The content workflow can pause after QA and wait — potentially indefinitely — for a reviewer's approve/reject decision before continuing.
One config string switches every agent between OpenCode Go, OpenAI, Anthropic, or Google models — no prompt rewrites.
Fill a campaign brief, watch the strategy stream in, review and approve it, then watch content, visuals, and hashtags assemble into a calendar.
A brand knowledge base with an "ask" panel — the same source Sada retrieves from when it grounds content in real brand facts.
A dashboard for connecting supported social accounts and managing approved publishing flows.
Stripe-backed plans and subscription management, built directly into the app rather than bolted on.
Session-cookie authentication with email/password, OTP login, and email verification — no tokens sitting in browser storage.
Every brief, reviewed strategy, and completed campaign is saved to the project sidebar so nothing is lost on refresh.
The AI engine treats agents as ordinary dependencies — every workflow is unit- and integration-tested without ever calling a real model.
agent.generate is patched with a typed mock returning a fixture — the wiring is exercised, only the LLM call is faked.One prompt gives you one guess. Sada coordinates 13 specialist roles through schema-validated handoffs, so approved strategy informs content instead of being discarded between steps.
Those tools start after the strategy exists. Sada generates the strategy itself, then the content that follows from it, in one traceable pipeline.
Deterministic preflight checks and a claim audit run alongside the model — output is checked, not just produced.
Strategy approval and content approval are explicit steps, not an afterthought — the workflow literally pauses and waits.
Most tools either schedule content you already planned, or optimize a brand presence you already have. Sada starts one step earlier — from a raw product brief, with nothing yet decided.
| Dimension | Scheduling tools Buffer, Hootsuite |
Autonomous agents Trellis, NoimosAI |
Sada |
|---|---|---|---|
| Starting point | You already have a strategy | You already have a brand presence | A raw product brief — nothing exists yet |
| Strategy work | None — you bring your own | Optimizes an existing strategy over time | Generates the strategy itself: STP, personas, journeys, objectives |
| Output check | None | Performance-based, after the fact | Deterministic guardrails before publish — preflight + claim audit |
| Human role | Approves everything manually | Approves broad strategy, agent runs loosely after | Explicit approval gate built into the workflow itself |
Strategy that survives the handoff
Questions? Explore the three independently versioned parts of Sada.