SOMA-Growth

Notifications, social intelligence, web extraction, and AI agents — one binary.

Replaces: Braze, Hootsuite, Scrapy, OpenAI SDK integrations

Notify routes
7619 migrations
Services in the binary
3notify · social · extract
Webhook delivery
retrybuilt in
Priced per profile
never

From event to inbox, without a per-profile bill

Campaigns and journeys with segment targeting, quiet hours, and honored unsubscribes — queued on Redis-backed outbox workers so a restart drops nothing, delivered with retry, tracked back into segments.

soma-notify pipeline: an event is matched to segments, runs a journey with quiet hours, queues on Redis-backed outbox workers, and is delivered to email and webhooks with retry; opens, clicks, and unsubscribes are tracked back event API call from your app segments who should hear this journey engine steps · quiet hours · unsubscribe honored outbox workers Redis-backed queue — nothing lost on restart email campaigns + transactional webhooks delivery with retry opens · clicks · unsubscribes tracked back into segments 76 routes, 19 migrations — and the profile count never appears on an invoice.

The notification meter, compared

ToolRuntimeBilled by / documented minimumBrings along
Paid SaaS
Customer.ioSaaSper profile stored + messagesyour audience is the meter
BrazeSaaSper MAU, enterprise contractsannual-contract pricing
OneSignalSaaSper subscribergrowth taxed directly
Self-hosted open source
NovuNode4 vCPU / 8 GB + MongoDB (2 GB, AVX CPU) + Redis (2 GB)three data systems
soma-notifyRustone binary with social + extract — design target: tens of MBPostgres + Redis for the outbox

Novu figure from its self-hosting docs (docs.novu.co); SaaS rows are billing units, not price quotes. The soma-notify figure is a design target — no measured baseline yet. The planned load, scaling, and performance analysis covers this suite too; results publish at /footprint with reproducible scripts.

Key components

ComponentWhat it isStatus
soma-notifyCampaign + journey orchestration; segment targeting; outbound webhook delivery with retry; click/open tracking; quiet hours; Redis outbox workers; 76 routes, 19 migrationsusable
soma-socialSocial intelligence API + WXT/Preact browser extension for LinkedIn/X/Medium/Substack; LLM agent layer; prompt-injection mitigationsusable
soma-extractWeb extraction: full-page fetch/crawl/sitemap, LLM-driven structured extraction, CSS-selector extraction, robots.txt respect, network guardwip
soma-growth-serverUnified binary: notify + social + extract share one Postgres pool; dashboard embedded via rust-embed; multi-stage Dockerfileusable
soma-ai-server35+ route files, 31,167 LOC; multi-agent orchestration; RAG with pgvector; memory layer; guardrails; HITL approvals; evals; MCP integration; WebSocket event streaming; 31 migrationswip
soma-ai-runtimeAgent runtime: orchestration + memory execution layer (5,081 LOC)wip
soma-ai-sdkTyped Rust SDK for server-to-server calls (4,350 LOC)usable

Why it matters

  • Three services in one binary; dashboard SPA embedded at compile time — one file to deploy
  • Prompt-injection mitigations built into the social agent: user input HTML-escaped and XML-delimited before any LLM call
  • SOMA-AI: multi-agent orchestration, RAG with pgvector, memory, guardrails, HITL, evaluations — Rust-native
  • 35+ route files and 31 migrations in soma-ai — architecturally ambitious, in active early build-out

Maturity

Git activity

Growth: 11 commits over 13 days (2026-07-16 to 2026-07-29). soma-ai: 7 commits over 4 days (2026-07-16 to 2026-07-20).

Get started →Source on GitHub →