push-relay

Web Push · no app · no email

Notifications that reach you, even with the tab closed.

Push Relay is a tiny notification service built on the open Web Push standard. Subscribe once and your browser gets the message — delivered straight from the server.

Browser notifications Not subscribed

Turn on notifications

Get a browser notification when something happens — no inbox, no install.

service worker: registering…

You’re subscribed

This browser will now get notifications as bilal — even with the tab closed.

Trigger one from the server with python manage.py send_test --label bilal (the authenticated send API arrives in a later phase).

status: subscribed · endpoint stored

Notifications are blocked

Your browser is set to block notifications for this site, so we can’t subscribe you yet.

To turn them back on: open the site settings (the icon beside the address bar), set Notifications to Allow, then reload.

status: permission denied

Subscribed — but notifications look blocked

You’re subscribed, but a test notification didn’t appear. Something on this device is hiding notifications from this site.

Usual causes: an ad-blocker / privacy extension (a per-site allowlist often doesn’t cover notification blocking — turn off its notifications / annoyances filter), Focus / Do-Not-Disturb, or the browser’s notification settings.
How to check
  1. Extensions: disable notification/annoyance blocking (or fully allow this site).
  2. macOS/Windows: turn off Focus / Do-Not-Disturb.
  3. Browser: settings → Notifications → allow this site; avoid “quieter messaging”.

status: subscribed · display blocked?

That didn’t work

Something went wrong enabling notifications. Please try again.

status: error

Push isn’t available here

This browser doesn’t expose the Web Push API, so notifications can’t be enabled on this device.

On iPhone/iPad: tap Share → Add to Home Screen, then open Push Relay from the home-screen icon (iOS 16.4+).

On desktop & Android: use Chrome, Firefox, or Edge.

status: unsupported · Push API missing

How it works

01

You subscribe

You grant permission and the browser hands us a PushSubscription — an endpoint plus its encryption keys.

02

We store it

The subscription is saved server-side, tied to your label. The private VAPID key never leaves the server.

03

We push

The server encrypts a payload, signs it with VAPID, and the push service wakes your Service Worker — even with the tab closed.

For your other apps

One API call to notify yourself

Point an uptime monitor, a cron job, or an RSS digest at Push Relay instead of sending email. One authenticated request:

# notify the browser subscribed as "bilal"
curl -X POST https://push-relay.up.railway.app/api/v1/send \
  -H "Authorization: Bearer $PUSH_RELAY_SEND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"label":"bilal","notification":{"title":"Site down","body":"api.example.com is not responding"}}'