Analysis updated 2026-07-05 · repo last pushed 2025-01-13
Send a push notification to a user when a new task is assigned to them in a project management app.
Notify a shopper that an item they saved is back in stock.
Re-engage users with timely updates even when they are not actively viewing your website.
Set up browser-side push subscriptions using the included JavaScript service worker examples.
| mastodon/webpush | joshuakgoldberg/mastodon | snatchev/deliver | |
|---|---|---|---|
| Stars | 2 | — | — |
| Language | Ruby | Ruby | Ruby |
| Last pushed | 2025-01-13 | 2024-05-11 | 2015-11-24 |
| Maintenance | Stale | Dormant | Dormant |
| Setup difficulty | moderate | hard | moderate |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires coordinating server-side Ruby setup with browser-side JavaScript service worker registration and subscription, which is a multi-step process.
The webpush gem lets a Ruby backend send push notifications straight to a user's web browser, even when that person isn't actively looking at your website. It handles the heavy lifting of the Web Push Protocol, including the encryption required to securely deliver messages to browsers like Chrome, Firefox, and Edge. At a high level, making web push notifications work requires coordination between the server and the browser. On the browser side, the user's device runs a small background script called a service worker, which listens for incoming push events. When the user agrees to receive notifications, the browser generates a unique subscription containing encryption details. The backend then uses this gem to package a message, encrypt it using those details, and send it to the browser's push service, which delivers the notification to the user's screen. This tool is designed for Ruby developers building web applications who want to re-engage their users with timely updates. For example, a project management app could use it to alert a user that a new task has been assigned to them, or an e-commerce site could notify a shopper that an item they saved is back in stock. It provides the server-side glue needed to bridge the gap between a Ruby application and the browser's built-in notification system. A notable aspect of this project is its support for VAPID, a standard that lets servers identify themselves to browser push services without relying on third-party API keys. The gem can generate these VAPID keys for you, though it also supports older methods like using Google's GCM API keys. The README provides extensive JavaScript examples for the browser-side setup, acknowledging that getting a service worker properly registered and subscribed is a multi-step process that happens entirely outside of the Ruby code.
A Ruby gem that sends push notifications from a Ruby backend straight to a user's web browser, handling the encryption and delivery so your app can reach users even when they are not on your site.
Mainly Ruby. The stack also includes Ruby, JavaScript, Service Workers.
Stale — no commits in 1-2 years (last push 2025-01-13).
The explanation does not mention a license, so the terms of use are unclear.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.