Private beta · Free · iPhone

Notifications from your code, straight to your phone.

Send one HTTP request from a cron job, a deploy or your home server. PeskyBird puts it on your iPhone in seconds and keeps the history, even if your phone was offline.

See how it works

We approve people in small batches. Once you're approved, the same button signs you in.

curl
curl -H "Authorization: Bearer pba_…" \
  -H "Title: Backup finished" \
  -d "Nightly backup completed in 4 min" \
  https://peskybird.app/api/push/topics/backups

Send your first message in three steps

No servers to run and no SDK to install. If it can make an HTTP request, it can send to your phone.

  1. Pair your iPhone

    Install the PeskyBird app and scan the code on your dashboard. Your phone shows up in your device list a few seconds later.

  2. Create an app token

    Give each script or service its own token, limited to the topics it may send to. Revoke one without touching the others.

  3. Send a message

    POST to a topic. The body is the message; headers set the title, priority and a link to open.

Works with whatever already runs your jobs

Shell scripts, CI pipelines and app servers all send the same way.

A cron job

crontab
PESKYBIRD_TOKEN=pba_…
0 3 * * * /usr/local/bin/backup.sh && curl -s -H "Authorization: Bearer $PESKYBIRD_TOKEN" -d "Nightly backup completed" https://peskybird.app/api/push/topics/backups

A deploy pipeline

GitHub Actions step
- name: Notify on staging
  run: |
    curl -s -H "Authorization: Bearer ${{ secrets.PESKYBIRD_TOKEN }}" \
      -H "Title: Deploy staged" \
      -H "Priority: high" \
      -d "web $VERSION is staged on 3 instances" \
      https://peskybird.app/api/push/topics/deploys

Your app's server

Node
await fetch("https://peskybird.app/api/push/topics/orders", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.PESKYBIRD_TOKEN}`,
    Title: "New order",
  },
  body: "Order #1042 · 2 items · $86.00",
});

More than a line of text

Every message lands in an inbox on your phone, grouped by topic, with everything it was sent with.

Topics you choose

Subscribe your phone to the topics you care about and mute the rest. Notifications from one topic stack together on the lock screen.

Priorities that respect Focus

Low-priority messages arrive quietly. High priority is time-sensitive and can break through a Focus you allow it to.

Buttons and links

Add up to four buttons to a message, each opening a link, and a link that opens when you tap the message.

Formatting

Write the message in Markdown. The lock screen shows clean text; the app shows the full message, with emphasis and links.

History that catches up

If your phone was in airplane mode, it gets every message in order when it comes back. Your dashboard shows what was delivered to which device.

Every phone in your account

Pair up to 3 iPhones. Rename them, see when they were last seen, and remove one if it is lost.

Your messages are yours

Server alerts can say a lot about your systems. Here is exactly how we handle them.

  • Encrypted at rest with a key per account

    Message titles, bodies, links and data are stored encrypted with a key that belongs to your account alone.

  • Delete your account, and its key goes with it

    Once the key is deleted, your stored messages can no longer be read. Backups expire within 7 days, and nothing of the account remains after that.

  • History is kept for 30 days

    Messages are removed from our servers after 30 days. Your phone keeps its own copy until you delete it.

  • What Apple sees

    Notifications reach your iPhone through Apple's push service, which carries the title and text shown on your lock screen.

About the private beta

We are letting people in a few at a time while we make sure delivery is fast and reliable.

What does it cost?
Nothing during the beta. Each account can send up to 500 messages a day to 3 devices.
How do I get the app?
Through TestFlight during the beta. Once you're approved, your dashboard links to it.
Is there an Android app?
Not yet. PeskyBird is iPhone only for now.
Can I run it on my own server?
Not as part of the beta.

Get your first notification today