Alerts from the machines that stay awake

Your laptop sleeps. Production does not. Palmtop Link is one static binary you put on a server, a cron box or a CI runner, and it puts alerts on your phone — no pairing, no daemon, no inbound port, nothing to keep running. What it holds can only add an alert to one phone's board: it cannot read that board back, and it cannot reach your computer.

Five minutes

Once per machine. Nothing here asks for an account, a password or a key of yours.

  1. On the machine that will raise alerts — about 6 MB, no runtime, nothing that starts at boot.
    curl -fsSL https://priorstates.com/palmtop/link/install.sh | sh

    It is forty lines and worth reading first: install.sh. Windows: take the .exe below.

  2. On your phone — Palmtop → Alerts → Turn on → Add a server. You get a code like PT-GESN-NXPB. It works once, for half an hour.
  3. Back on the machine
    palmtop-link enroll PT-GESN-NXPB --name prod-ny-3
    palmtop-link test

    The test alert appears on the phone. After that, from anything that can start a process:

    palmtop-link send --sev1 --service md-gateway "Market data gap on CME"

Downloads

Version 1.0.0. Static, no dependencies. Checksums: SHA256SUMS — the installer checks them for you.

PlatformFile
Linux · x86-64palmtop-link-linux-amd64 ⬇ Download
Linux · arm64palmtop-link-linux-arm64 ⬇ Download
macOS · Apple Siliconpalmtop-link-macos-arm64 ⬇ Download
macOS · Intelpalmtop-link-macos-amd64 ⬇ Download
Windows · x86-64palmtop-link-windows-amd64.exe ⬇ Download

The macOS builds are not notarized yet: the first run needs System Settings → Privacy & Security → Open anyway, or xattr -d com.apple.quarantine palmtop-link.

What it can do, and what it cannot

Worth reading if you are the one who signs off on what runs in production.

It can

Add an alert to the boards it enrolled with — a severity, a service, a title, a detail and a link. That is the whole of its power.

It cannot

Read any board, reach your computer, enrol anything else, or see the other machines you have enrolled. Revoking one machine on the phone leaves every other one alone.

Nobody in the middle can read it

Every alert is sealed on the sending machine to a key only your phone holds — a fresh ephemeral P-256 key each time. The relay that carries it stores bytes it cannot open, and neither can we.

An alert lands on the phone's board, and rings it if you turned ringing on. Push is best-effort and not a pager: a phone that is off learns when it comes back, so anything that must reach someone at 3am should also place a call — the guide shows how.

Wire it into what you already run.

Prometheus Alertmanager, CI, systemd, a cron job, an exception handler, or four lines in your own language.

Read the integration guide