Now on iPhone

Your phone,
on the wire.

Send a push to your iPhone from any script, server or bot with one HTTP request. Deploys, payments, alerts, all in one calm feed.

9:41
Feed
1unread
Search feed
AllNorthwindLedgerci.acme
NEW
Northwind5m
New Order
NW-48213 · Melanie Zigler · $393.76
Tidepool6m
Payment confirmed
Tonya F. · $207.58 · order TP-4679
HO
Homelab1h
NAS scrub finished
0 errors · 18 TB verified
Features

Everything iOS can do, from a webhook.

One endpoint drives banners, Live Activities, action buttons and alarms that don't stop until you answer.

CA
ci.acme
Deploy #482
46%
Building image
CA
ci.acmeLive
Deploy #482
Building image
46%

Live Activities

Progress on the Lock Screen and in the Dynamic Island, updated from any job.

Northwind
New Order
NW-48213 · $393.76

Every source, its own color

Upload a logo; pushr samples its color and lights the card.

CA
ci.acmenow
Staging deploy ready
Promote a1f93c to production? All 38 checks passed.

Tap to act

Up to four buttons per push. Approve, reject, open a link or reply.

BeaconCRITICAL
api-prod is down
5xx rate 38% across 3 regions
Re-alert 1 of 3 · every 2 min until acked

Ack or escalate

Must-acknowledge pushes repeat until you answer them, even in quiet hours.

pushr·All apps
3
Northwindnow
New Order
NW-48213 · $393.76
Tidepool2m
Payment confirmed
Order TP-4679
Ledger9m
Payment received
$4,200.00 from Acme

Home Screen widget

Your latest pushes, from all apps or just one.

GI
GitHub
PR #318 merged
feat(island): live activity progress fills smoothly

Plugs into your tools

Built-in adapters turn GitHub, Sentry and Grafana webhooks into clean pushes.

Compared

Built for the parts iOS has and others skipped.

ntfy and iGotify nail the basics: free apps and your own server. pushr adds Live Activities, action buttons, alerts that repeat until answered, and badge sync across devices.

Self-host, free forever

Run your own backend. Point the app at it.

The backend is open source. Deploy it on your own Convex, paste the URL into Settings, and your payloads never touch our servers. No per-message fees, no caps.

Settings → Server
https://pushr.you.dev
Connected
Feature
pushr
This app
ntfy
Topics over HTTP
iGotify
For Gotify
Native iOS app
Free iOS app
Free
Free
Free
Open source
What the public code covers
Backend
App + server
Bridge
Self-host the backend
Run the server end-to-end and point the app at it
Hosted backend available
Skip self-hosting if you don't want it
Live Activities + Dynamic Island
Lock Screen progress driven from a webhook
Action buttons on iOS
Approve, reject or reply from the notification
Alerts that repeat until acknowledged
Images in notifications
Badge count synced across devices
Custom notification sounds
Pick a sound for low, normal and high priority
Per-source icons + color
Brand each app sending notifications
Per-source access tokens

Based on each project's public docs and App Store listings as of September 2026. Corrections welcome.

Recipes

Things people actually wire up.

The pattern is always the same. Only the verbs change.

CA
ci.acmenow
Deploy #482 succeeded
main → production · 1m 04s
POST /notify · "url": "https://acme.dev/deploys/482"
When CI ships

Ping me on green deploys

GitHub Actions or any CI POSTs to /notify when main goes live.

Ledgernow
Payment received
$4,200.00 from Acme, Inc.
POST /notify · "priority": 9
When money moves

Wake me on big charges

A Stripe webhook sends priority 9: banner, sound, no dashboard refresh.

HO
Homelabnow
Front door
Motion · clip 8s
POST /notify · "liveActivity": { "action": "start", … }
When the doorbell rings

Put the front door on my Lock Screen

Home Assistant starts a Live Activity you can watch without unlocking.

Beaconnow
api-prod is down
5xx rate 38% · paged 2×
POST /notify · "ack": { "timeoutSec": 120, "maxAttempts": 3 }
When prod breaks

Keep pinging me until I answer

An uptime check sends an ack-or-escalate push that repeats until answered.

API

No SDK. Just a URL.

One endpoint, one bearer token, one JSON payload. Send from anything that speaks HTTP.

# wire any project to your phone in one shot
curl -X POST "$PUSHR_URL/notify" \
  -H "Authorization: Bearer $PUSHR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "shipped 🚀",
    "body":  "main → production · build #482",
    "priority": "high",
    "url": "https://acme.com/admin"
  }'
POST /notify
One endpoint for everything.
Idempotent
Safe to retry, deduped by request id.
Every device
Fans out to each signed-in iPhone.
Clear errors
4xx with reason codes, never silent drops.

Wire it up tonight.

Free to start. 1,000 pushes a month and one source app are on us.

Coming soon to the App Store

iPhone app

Feed, Live Activities, widgets and per-app sounds.

Coming sooniOS 16.2+

CLI

Send from the shell, pipe stdin, drive Live Activities.

$brew install cpreston321/tap/pushrsh

SDK

Typed notify() and liveActivity() for any fetch runtime.

$bun add @pushrsh/sdk
pushr
Ledger2m
Payment received
$4,200.00 from Acme, Inc.
CA
ci.acme14m
Deploy #482 succeeded
main → production · 1m 04s
Beacon1h
api is back up
Resolved after 38s
↓Keep scrolling to send yourself a push