Builders · 6 min read

Phone alarms for founders and solo developers

Founders and solo developers can get a real phone alarm for the moments that matter in their product: the site going down, a deploy finishing, the first sale, a signup spike, launch day. LFG Alarm is a social alarm clock for iPhone and Android, and lfg.gm in a desktop browser. Each moment gets an anything alarm, a private link that rings your phone (and your co-founder's, if you share it) when your uptime monitor, CI or a small script sends it a POST. It is for good news as much as bad: the ring that gets you out of bed for an outage can also be the one that tells you someone just paid.

Also called: uptime alert phone alarm · uptimerobot webhook alarm · first sale notification · launch day alarm

Get it on Google PlayDownload on the App Store

Before you start

  • The LFG Alarm app on your phone, signed in, and on your co-founder's if they should be rung too.
  • One anything alarm per moment. On Alarms, tap 🔮 Anything, pick a Cooldown, choose private or friends, and tap Arm it. Copy the link and tap Test fire to hear it. Give each its own name and sound ("Site down", "Deploy done", "First sale"), so you know which one rang before you look. How the link works: How to make any app, script or feed ring your phone.
  • Somewhere safe for the link: a secret or environment variable. Anyone with it can ring the alarm; tap New URL if it leaks.

Site down: your uptime monitor rings you

Most uptime monitors can call a webhook when a check fails. Paste the alarm's link there.

  • UptimeRobot: in the left sidebar, open Integrations, click Add Integration and choose Webhook. Paste the link as the Webhook URL, and under Events to notify about tick Down events only, so the recovery does not ring you too. Then connect the integration to the monitors that matter. Webhooks are not on every UptimeRobot plan; check yours.
  • Better Stack: open Integrations, then Exporting data, and under Outgoing webhooks click Configure and add an Incident webhook with your link. It sends a POST when an incident is created, acknowledged, resolved and more, and you can choose the events: keep only the one for a new incident. LFG Alarm ignores the body, so every event you leave on would ring.

A 30 minute Cooldown suits a site that flaps: one ring, not one per check.

Deploy or CI finished

A long deploy, a migration or an overnight test run can ring you when it ends. In GitHub Actions, add a last step:

- name: Ring my phone
  if: failure()   # or always() to ring on every finish
  run: curl -s -X POST "${{ secrets.LFG_RING_URL }}"

Use two alarms if you want to tell success from failure by sound. For Claude Code and other coding agents running in CI, see Claude Code and Copilot in CI: a hook calls the link when the agent finishes or needs you.

First sale

The first payment from a stranger is worth being woken for. The simplest route is no code: in Zapier, use Stripe's New Payment trigger (or Make's Stripe app), then a POST to the alarm's link. Turn the Zap off after the first one, or keep it for the first week.

Do not paste the link straight into Stripe as a webhook endpoint. When the alarm is in its Cooldown it answers 429, and Stripe retries failed deliveries for up to three days, so a sale could ring you again at a random hour. If you already have your own Stripe webhook handler, add one POST to the link inside it instead. Zapier and Make guides: Zapier and Make.

A signup spike

A sudden rush usually means someone big shared you, and the first hour is when replying matters. A small scheduled job can watch for it:

import os, requests
new = count_signups_in_last_hour()  # your own query
if new >= 50:
    requests.post(os.environ["LFG_SPIKE_URL"], timeout=10)

Run it every 10 minutes with cron or your host's scheduler, and give the alarm a one hour Cooldown so a long spike rings once.

Launch day

Launch day is a time alarm, not an anything alarm: you know when it starts. A friends alarm rings you and the team at the same moment, wherever each of you is, and the wake board shows who got up. Pair it with a "First sale" or a spike alarm and the day rings you for the moments that follow.

try this

Have your AI agent make it.

Paste this into ChatGPT, Claude, Grok or any AI agent that can add a connector, not into the LFG Alarm app. The setup steps come with it: get the LFG Alarm app, connect it to your agent once, and your agent makes the alarm in your account.

Use LFG Alarm to set a one-off time alarm called "We're live" for 23:55 on [launch date], make it a friends alarm, and add my co-founder [username]. Then tell me the date and time it will ring.

Already have the LFG Alarm app and connected it to your AI agent?

Why it works. A launch alarm is a time alarm your AI agent can make, shared so every phone on the team rings together.

Three founders, three alarms

Maya runs a small shop alone. UptimeRobot rings "Shop down" with Down events only. At 03:10 the certificate expires; she fixes it before the morning rush.

Theo and Priya build a two-person SaaS. Their nightly migration job rings "Deploy failed" on failure only, shared with both. Better Stack rings "API down" when an incident is created. Most nights nothing rings, which is the point.

Sam is a solo developer launching a paid app. A Zap rings "First sale" on Stripe's New Payment. It goes off at 07:40 on launch day; he turns it off at the tenth sale and keeps the signup spike alarm.

How it rings

On Android an anything alarm rings full screen like an alarm. On iPhone it arrives as a time-sensitive alert with the alarm's sound, so keep the ringer on. Time alarms, like the launch alarm, are real alarms on both, and ring through silent mode and Focus on iPhone. With an lfg.gm tab open on an awake laptop, alarms ring there too.

If it does not work

  • Nothing rings: make sure the tool sends a POST, not a GET, to the full https://api.lfg.gm/horn/... link. Opening the link in a browser does nothing.
  • It rang once, then stopped: that is the Cooldown. Calls inside it get a 429.
  • It rings on recovery too: turn off up or resolved events in the monitor; the body is not read, so every call rings.
  • A 404: the link was replaced with New URL. Paste the new one.

Learn more

Sources and further reading

LFG Alarm is not affiliated with UptimeRobot, Better Stack, GitHub, Stripe, Zapier or Make.

questions people ask
Is this an on-call tool?

No. There are no rotations or escalation. It rings the phones on the alarm. See [alert apps compared](/alert-apps-compared).

Can it show which monitor failed?

No. Whatever the request carries is not shown. Use one alarm per thing you care about, named for it.

Can my AI agent make these alarms?

Yes. Through the [LFG Alarm connector](/agents), ask for an anything alarm, private or for friends, and it hands back the link to paste into your monitor or pipeline.

keep exploring

One use case opens another.

Never miss the moment.

Free on Android and iPhone.

Get it on Google PlayDownload on the App Store