PushForge

Web Push Notification Test

1 Enable Push Notifications

Click to enable push notifications

2 Send Test Notification

0
Sent
0
Active Devices

How This Test Works

  • Enable toggle to add your device to the notification queue for 5 minutes
  • Anyone can send — clicking "Send" notifies all active devices, even if you haven't enabled the toggle yourself
  • If no devices are active, no notifications are sent
  • Your subscription is automatically deleted after 5 minutes
  • Disable the toggle to remove your device immediately
  • Click Refresh to update the device count and your toggle status

About PushForge

A lightweight, dependency-free Web Push library built on the standard Web Crypto API. Send push notifications from any JavaScript runtime.

  • Zero dependencies — no bloat, no supply chain risk
  • Web Crypto API — uses the standard Web Crypto API, no Node.js-specific modules
  • Works everywhere — Cloudflare Workers, Vercel Edge, Convex, Deno, Bun, Node.js 20+, and modern browsers
  • TypeScript-first — native types, no @types package needed

Why PushForge?

Traditional libraries like web-push rely on Node.js-specific APIs that fail on modern edge runtimes:

❌ Cloudflare Workers — "crypto.createECDH is not a function"
❌ Vercel Edge — "https.request is not available"
❌ Convex — "Top-level await is not supported"
PushForge web-push
Dependencies 0 5+
Cloudflare Workers Yes No
Vercel Edge Yes No
Convex Yes No
Deno / Bun Yes Limited
TypeScript Native @types

Quick Start

# Install
npm install @pushforge/builder

# Generate VAPID keys
npx @pushforge/builder vapid
  • Subscribe users on the frontend with the VAPID public key
  • Send notifications from your server with buildPushHTTPRequest()
  • Full docsgithub.com/draphy/pushforge

Browser Support

  • Chrome, Edge, Opera — works out of the box
  • Firefox — works out of the box
  • Safari 16+ — macOS Ventura and later
  • Brave — enable "Use Google services for push messaging" in brave://settings/privacy