Push notifications to your phone or desktop

A reminder that reaches the device even when the dashboard tab is closed, and opens straight to the right screen when tapped.

What it is

Web Push through a service worker. Each browser a person opts in on becomes a subscription row; the reminder engine pushes to every one of them. Tapping the notification focuses an existing window and navigates it, or opens a new one.

Also called: push notification · phone alert · reminder when the app is closed · web push

See it
Push notifications to your phone or desktop
New lead 2
Marlin Hoover
$49k
Delia Yoder
$59k
Sutter Kline
$61k
Contacted 2
Sutter Kline
$26k
Ronan Petsch
$66k
Estimate 2
Ivy Brubaker
$67k
Gideon Alt
$37k
Marlin Hoover
$74k
Sold 4
Marlin Hoover
$57k
Delia Yoder
$20k
Sutter Kline
$18k
A phone lock screen showing the reminder, next to the composer's Push chip selected. sw.js / webPushClient.ts. Sample data — no customer information appears here.
How it works
  1. 1The client registers /sw.js, requests permission, subscribes with the VAPID public key and saves the subscription to /api/push/subscribe (upserted on the endpoint, so re-subscribing the same browser is idempotent).
  2. 2The server pushes with web-push and prunes dead endpoints on 404/410.
  3. 3The service worker shows the OS notification with a tag that collapses duplicates of the same reminder, and handles the click.
  4. 4The whole path no-ops when VAPID is not configured.
Why we built it

Migration 105 built it for self-reminders so a rep is reached with the app closed. The reminders cron records that tasks were left out of it for a long time: push was 'Offered in the composer since it was built; never actually sent for tasks until now.'

The problem
  • Reminders unreachable once the tab is closed
  • A push option that did nothing for tasks
Sound familiar?
What you get
The nudge lands on the device you carry
Tapping it opens the exact screen

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →