# broad-announce Multi-tenant notification router. Receives alerts from many source systems (HTTP/JSON webhooks, WebSockets, MQTT, gRPC bidi-streaming), normalizes them, resolves recipients via `companies` → `groups` → `individuals` + `subscriptions`, and delivers to FCM (Android), Telegram, SMS, email, voice, Slack, MS Teams, and arbitrary outbound webhooks. > **Status**: spec + architecture, no code yet. See `SPEC.md` for > requirements and `ARCHITECTURE.md` for diagrams / sequence flows / > capacity model. `PROMPT.md` is the build log. ## v1 in one paragraph Four Go services (`ingestd`, `routerd`, `deliverd`, `admind`) wired together by NATS JetStream. Postgres + Timescale for live data, ClickHouse for archive, Redis for dedupe + rate limits, EMQX for MQTT. Strict app-level multi-tenant isolation. ~5k alerts/sec on Docker Compose, 50k/sec design ceiling for v2 K8s. ## Repo layout ``` SPEC.md — requirements, entities, severity, retention ARCHITECTURE.md — diagrams, sequences, SLOs, capacity model PROMPT.md — build log, decisions, open questions migrations/ — (coming) golang-migrate SQL files ingestd/ — (coming) HTTP/WS/MQTT/gRPC ingest binary routerd/ — (coming) recipient resolution binary deliverd/ — (coming) per-channel delivery workers admind/ — (coming) admin HTTP API + UI host loadgen/ — (coming) per-protocol traffic generators internal/ — (coming) shared Go packages deploy/ — (coming) prometheus, grafana, loki configs docker-compose.yml — (coming) one-shot local stack ``` ## License Private. © 2026 Techno-World.