Alternative to web-push for modern runtimes. Zero-dependency TypeScript toolkit for standards-compliant Web Push notifications across Node.js, Deno, Bun, and Cloudflare Workers. web-push fails on Cloudflare Workers, Vercel Edge, and Convex with crypto.createECDH is not a function. pushforge solves this with standard WebCrypto APIs: VAPID auth, ECDH key exchange, AES-GCM encryption, CLI tooling. Zero dependencies vs web-push's 5+.
NPM | GitHub | Live Demo
Media
Key Contributions
- Cryptographic Stack: Built RFC 8291/8292 Web Push cryptographic pipeline (VAPID ES256, ephemeral ECDH P-256, HKDF-SHA256, AES-GCM) with isomorphic WebCrypto abstraction working identically across Node, Deno, Bun, and Cloudflare Workers. Zero third-party dependencies.
- API Design: Designed
buildPushHTTPRequest: single typed API composing encrypted payload, canonical headers, and delivery semantics (TTL, Topic, Urgency) for turnkey push delivery.
- Type Safety: Enforced type-driven correctness with TypeScript generics (
PushMessage<T extends Jsonifiable>, RequireAtLeastOne<>) surfacing protocol errors at compile time, reducing runtime integration faults.
- Testing: Engineered wire-level integration tests (Vitest) against FCM/WNS endpoints, validating VAPID headers and delivery semantics across push providers.
Skills
- Cryptography: WebCrypto | ECDH (P-256) | ECDSA ES256 | AES-GCM | HKDF-SHA256
- Runtimes: TypeScript | Node.js | Deno | Bun | Cloudflare Workers
- Protocols: Web Push (RFC 8291/8292) | VAPID | JWT
- Testing: Vitest | Integration Testing