Product & growth

The moment a new user signs up.

Call PocketAlert from your signup handler, right after the user record is created. Each registration reaches your phone with its email and plan, and the same line handles upgrades and milestones.

Push in <1sSignups + milestonesAny backend or no-code
Features

Watch your product grow, live

Every new signup lands on your phone as it happens, and you feel the product growing.

One line to add

One call in your signup handler turns each new user into a push. No analytics pipeline required.

Who just joined

Email, source, and plan ride along in the message, so the alert names the person who joined.

Milestones too

Point the same call at upgrades, first projects, and invites to follow activation, not just signups.

Any stack

Wire it from your backend, a database trigger, or a no-code tool watching your auth provider.

Real-time growth

Seeing the user count tick up keeps a founder going.

Scales with you

As volume grows, trade per-signup pings for milestones or a digest and the channel stays useful.

Get started

Three steps to signup alerts

1

Get your API key

Create an API key in your account, and store it as an env var on your backend.

2

Hook your signup

POST to https://api.pocketalert.app/v1/messages from your signup handler with the new user's email or plan.

3

Feel the growth

Register a test user. Your phone buzzes as they join.

Ping yourself on every signup

Node โ€” after user.create

await fetch('https://api.pocketalert.app/v1/messages', {
  method: 'POST',
  headers: { Token: process.env.POCKETALERT_API_KEY, 'Content-Type': 'application/json' },
  body: JSON.stringify({
    title: 'New signup ๐ŸŽ‰',
    message: `${newUser.email} joined on the ${newUser.plan} plan`,
    level: 'high',
    application_id: 'qm47b9pzxzxg',
  }),
});

Python โ€” after User.objects.create

import requests

requests.post(
    'https://api.pocketalert.app/v1/messages',
    headers={'Token': os.environ['POCKETALERT_API_KEY']},
    json={
        'title': 'New signup ๐ŸŽ‰',
        'message': f'{new_user.email} joined on the {new_user.plan} plan',
        'application_id': 'qm47b9pzxzxg',
    },
)

Ruby โ€” after User.create

require 'net/http'
require 'json'

uri = URI('https://api.pocketalert.app/v1/messages')
Net::HTTP.post(
  uri,
  { title: 'New signup ๐ŸŽ‰', message: "#{new_user.email} joined", application_id: 'qm47b9pzxzxg' }.to_json,
  'Token' => ENV['POCKETALERT_API_KEY'], 'Content-Type' => 'application/json'
)

The same call handles upgrades and key milestones โ€” fire it after the relevant event. The docs go deeper.

FAQ

Questions, answered

POST to the PocketAlert messages API from your signup handler, right after you create the user record. Send a title and message, and the alert lands on your phone carrying their email or plan.

Yes. Put the email, source, or plan in the message and each alert reads "New Pro signup ยท [email protected]" with whatever detail you choose.

Point the same one-line call at any milestone: a first project, an upgrade, a first invite. Each fires its own push, so activation shows up next to registration.

It runs from any stack. Call it from your backend, from a database trigger via webhook, or from a no-code tool like Zapier watching your auth provider.

Early on, every signup deserves a ping. Once volume climbs, switch to milestones or a daily digest and the channel keeps its signal.

Yes. Every message takes a level, from silent (-2) to critical (2). Send level high when an enterprise plan signs up and it arrives as a time-sensitive push that breaks through iPhone Focus modes. Once you move to a daily digest, send it at silent โ€” no sound or vibration, and it still shows in your history.

Feel every new user join.

Drop one line into your signup flow. Your user count climbs in your pocket, name by name.