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.
The notification meter, compared
| Tool | Runtime | Billed by / documented minimum | Brings along |
|---|---|---|---|
| Paid SaaS | |||
| Customer.io | SaaS | per profile stored + messages | your audience is the meter |
| Braze | SaaS | per MAU, enterprise contracts | annual-contract pricing |
| OneSignal | SaaS | per subscriber | growth taxed directly |
| Self-hosted open source | |||
| Novu | Node | 4 vCPU / 8 GB + MongoDB (2 GB, AVX CPU) + Redis (2 GB) | three data systems |
| soma-notify | Rust | one binary with social + extract — design target: tens of MB | Postgres + 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
| Component | What it is | Status |
|---|---|---|
| soma-notify | Campaign + journey orchestration; segment targeting; outbound webhook delivery with retry; click/open tracking; quiet hours; Redis outbox workers; 76 routes, 19 migrations | usable |
| soma-social | Social intelligence API + WXT/Preact browser extension for LinkedIn/X/Medium/Substack; LLM agent layer; prompt-injection mitigations | usable |
| soma-extract | Web extraction: full-page fetch/crawl/sitemap, LLM-driven structured extraction, CSS-selector extraction, robots.txt respect, network guard | wip |
| soma-growth-server | Unified binary: notify + social + extract share one Postgres pool; dashboard embedded via rust-embed; multi-stage Dockerfile | usable |
| soma-ai-server | 35+ route files, 31,167 LOC; multi-agent orchestration; RAG with pgvector; memory layer; guardrails; HITL approvals; evals; MCP integration; WebSocket event streaming; 31 migrations | wip |
| soma-ai-runtime | Agent runtime: orchestration + memory execution layer (5,081 LOC) | wip |
| soma-ai-sdk | Typed 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).