Push notifications for developers

Your code runs.
Your phone knows.

Get a push notification on your iPhone the moment any script, deploy, cron job, or AI agent finishes. One HTTP call. No SDKs.

Free forever for 500 notifications a month. No credit card.

terminal
# From your terminal
$ nodkit send "Deploy complete"
✓ sent · v2.4.1
deploy.yml
# From any GitHub Action, server, or cron
- name: Notify
  run: |
    curl -X POST https://api.nodkit.dev/api/send \
      -H "Authorization: Bearer $NK_KEY" \
      -d '{"title":"CPU spike on prod-2","group":"alerts"}'
→ 200 OK
9:41
Friday, April 4
9:41
Nodkit
Nodkit · deploysnow
Deploy complete
v2.4.1 is live
Nodkit
Nodkit · alertsnow
CPU spike on prod-2
94% for 10s
30-second install

Two commands. One buzz.

Install the iOS app, tap Sign in with Apple, then run these in your terminal. The CLI logs you in via the browser — no copy-pasting API keys.

terminal
$ brew install nodkit
$ nodkit login
$ nodkit send "Hello from your terminal"
# → your phone buzzes
Inspiration

Wire one up for anything.

A few of the things people trigger. CLI for your machine, API for your servers — same notification on the same phone.

CLI
Nodkit · deploysnow
Deploy complete
v2.4.1 is live · 0 errors
make deploy && nodkit done
CLI
Nodkit · testsnow
Tests pass
247 / 247 · 12.3s
pytest && nodkit "tests done"
CLI
Nodkit · agentsnow
Claude finished
Refactored 14 files · awaiting review
Claude Code Stop hook
CLI
Nodkit · backupsnow
Nightly backup
4.2 GB · 12 min
rsync ... && nodkit "backup done"
CLI
Nodkit · downloadsnow
Download finished
WWDC keynote · 1.2 GB
yt-dlp ... && nodkit done
CLI
Nodkit · buildsnow
Image built
api:v3 · 312 MB
docker build && nodkit done
CLI
Nodkit · jobsnow
Migration finished
8.2M rows · 47 min
long-migration.sh && nodkit done
API
Nodkit · deploysnow
PR #421 merged
main · ready to ship
GitHub Actions webhook
API
Nodkit · errorsnow
New error in /checkout
TypeError · 12 users hit it
Sentry webhook
API
Nodkit · revenuenow
New $99 subscription
acme.com · annual
Stripe webhook
API
Nodkit · alertsnow
api.acme.com is down
502 · 3 retries failed
Cron uptime check
API
Nodkit · reportsnow
Yesterday's numbers
$4,231 · 23 new signups
Daily revenue cron
API
Nodkit · alertsnow
CPU spike on prod-2
94% for 10s
CPU monitor
API
Nodkit · watchlistnow
Price drop
MacBook Pro -$300
Web scraper
CLI
Nodkit · deploysnow
Deploy complete
v2.4.1 is live · 0 errors
make deploy && nodkit done
CLI
Nodkit · testsnow
Tests pass
247 / 247 · 12.3s
pytest && nodkit "tests done"
CLI
Nodkit · agentsnow
Claude finished
Refactored 14 files · awaiting review
Claude Code Stop hook
CLI
Nodkit · backupsnow
Nightly backup
4.2 GB · 12 min
rsync ... && nodkit "backup done"
CLI
Nodkit · downloadsnow
Download finished
WWDC keynote · 1.2 GB
yt-dlp ... && nodkit done
CLI
Nodkit · buildsnow
Image built
api:v3 · 312 MB
docker build && nodkit done
CLI
Nodkit · jobsnow
Migration finished
8.2M rows · 47 min
long-migration.sh && nodkit done
API
Nodkit · deploysnow
PR #421 merged
main · ready to ship
GitHub Actions webhook
API
Nodkit · errorsnow
New error in /checkout
TypeError · 12 users hit it
Sentry webhook
API
Nodkit · revenuenow
New $99 subscription
acme.com · annual
Stripe webhook
API
Nodkit · alertsnow
api.acme.com is down
502 · 3 retries failed
Cron uptime check
API
Nodkit · reportsnow
Yesterday's numbers
$4,231 · 23 new signups
Daily revenue cron
API
Nodkit · alertsnow
CPU spike on prod-2
94% for 10s
CPU monitor
API
Nodkit · watchlistnow
Price drop
MacBook Pro -$300
Web scraper
Use cases

If your code knows,
you should too.

Add one HTTP call to any workflow. Real examples below.

CI / CD

Know when your deploy lands

Add a step to your GitHub Action. Get a push notification the second your deploy succeeds — no more watching CI logs.

.github/workflows/deploy.yml
name: Deploy
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm run build && npm run deploy

      - name: Notify me
        run: |
          curl -X POST https://api.nodkit.dev/api/send \
            -H "Authorization: Bearer ${{ secrets.NK_KEY }}" \
            -H "Content-Type: application/json" \
            -d '{"title":"Deploy complete","body":"v2.4.1 is live","group":"deploys"}'
9:41
Friday, April 4
9:41
Nodkit
Nodkit · deploysnow
Deploy complete
v2.4.1 is live · 0 errors
Monitoring

Get alerted before your users do

A simple Python script on a cron. When CPU spikes, memory leaks, or your API goes down — your phone buzzes immediately.

monitor.py
import psutil, requests, os

cpu = psutil.cpu_percent(interval=10)

if cpu > 90:
    requests.post(
        "https://api.nodkit.dev/api/send",
        headers={"Authorization": f"Bearer {os.environ['NK_KEY']}"},
        json={
            "title": f"CPU spike on prod-2",
            "body": f"{cpu}% for 10s",
            "priority": "high",
            "group": "alerts",
        }
    )
9:41
Friday, April 4
9:41
Nodkit
Nodkit · alerts2m ago
CPU spike on prod-2
94% for 10s
AI agents

Know when Claude finishes

Long agent loops can run for minutes. Wire nodkit into your Claude Code Stop hook and your phone buzzes the moment it's done — or needs your input.

~/.claude/settings.json
// ~/.claude/settings.json
{
  "hooks": {
    "Stop": [{
      "hooks": [{
        "type": "command",
        "command": "nodkit send 'Claude finished' --group agents"
      }]
    }]
  }
}
9:41
Friday, April 4
9:41
Nodkit
Nodkit · agentsnow
Claude finished
Refactored 14 files · awaiting review
Why not just…

Built for one developer.
Not a team.

Slack is for teams. Email is for everyone. nodkit is the only tool built for one human notifying themselves.

nodkit
Slack
Email
Reaches your lock screen
One-line setup
Breaks through Focus mode
Built for one human, not a team
Pricing

Free until you love it.

500 notifications a month, free forever. Unlimited for $2.99 / month.
We'll never charge you by surprise.

FAQ

The four questions
you're actually asking.

Why not just use Slack or Discord webhooks?

Slack is built for teams — your channels get muted, your DMs get noisy, and your phone stops buzzing the moment you join more than three workspaces. nodkit goes straight to your lock screen, every time, with zero team overhead.

What happens if I hit the free limit?

Notifications stop until the next month. We never auto-charge you, never prompt you to add a card, and never silently overage-bill. If you want more, you upgrade on purpose.

Is my notification data private?

Notifications are stored only as long as needed for delivery and your in-app history. Sign in with Apple keeps your email private. We don't sell data, train models on it, or share it with advertisers.

What about Android?

iOS only at launch. Android is on the roadmap once the iOS app is stable. The HTTP API doesn't care which phone you have — when the Android app ships, the same curl command will work.

9:41
Friday, April 4
9:41
Nodkit
Nodkit · deploysnow
Deploy complete
v2.4.1 is live

Your phone is waiting.

Install the app, send a curl, watch it buzz. Free for 500 notifications a month, forever.