ADR 0007: Novu Cloud for Notifications
ADR 0007: Novu Cloud for Notifications
Section titled “ADR 0007: Novu Cloud for Notifications”- Status: Accepted
- Date: 2026-04-14
- Deciders: Ideony team
Context
Section titled “Context”Ideony needs multi-channel notifications: email (booking confirmations), SMS (SOS dispatch), and Expo push (status updates). Managing three provider SDKs (Resend, Twilio, Expo Push) individually would require custom routing, retry, and template management logic.
Decision
Section titled “Decision”Use Novu Cloud (EU region, eu.api.novu.co) as the notification orchestration layer. Novu routes to Resend (email, 3K/mo free), Twilio (SMS, SOS-only), and Expo Push. Six workflow templates are defined: booking-confirmed, booking-cancelled, sos-request, payment-received, review-prompt, service-reminder. Subscribers are synced on user creation via Clerk webhook.
Consequences
Section titled “Consequences”- Single SDK call triggers multi-channel delivery with template management in one place.
- EU region satisfies GDPR data residency requirements.
- Free tier (5K subscribers) covers MVP 0 user volume.
- Novu handles retries, delivery tracking, and preference management out of the box.
- Novu adds an external dependency for a core product feature (notifications).
- EU region API endpoint differs from default (
eu.api.novu.conotapi.novu.co) — must be explicit in config. service-reminderworkflow uses Novu scheduled delivery (30 days before due date) — Novu scheduling model must be validated for long-duration triggers.
Alternatives considered
Section titled “Alternatives considered”- Direct Resend + Twilio + Expo Push — rejected: requires custom routing, retry logic, and template versioning; three SDKs to maintain.
- SendGrid — rejected: email-only; no SMS or push orchestration.