Skip to content
Use case · Notifications

Live notifications without a single poll

Order status changes, fraud alerts, mention badges, system warnings — pushed instantly from your backend to every connected client. Server-to-server webhooks confirm delivery.

Per-user channels

Each user subscribes to private-user-{id}. Your backend publishes to that channel — only the right person receives the notification.

Delivery webhooks

Get a server-side callback when a notification is acknowledged or expires undelivered. Built-in retry and a 7-day delivery log.

Schema validation

Define what your event payloads should look like, and we'll warn you in the dashboard whenever a malformed event is published.

The code you actually write

Same Pusher protocol — works with every official SDK, unchanged.

Mawjly
import Pusher from 'pusher';

const pusher = new Pusher({
  appId: 'APP_ID',
  key: 'KEY',
  secret: 'SECRET',
  host: 'ws-sa.mawjly.com',
  cluster: 'sa',
  useTLS: true,
});

// Send a notification to a specific user
await pusher.trigger(`private-user-${userId}`, 'notification', {
  type: 'order.shipped',
  title: 'Your order is on the way',
  body: 'Tracking #SA-7842',
  ts: Date.now(),
});

Ship your realtime feature today

No credit card. No setup. First 200,000 messages/day free forever.

Start free