deploy · tutorial · mobile
Fix Production From Your Phone: The Grocery-Line Drill
Prod breaks while you're out. A Telegram ping with the order ID plus Termius means diagnosis to fix in minutes. Wiring inside.

The outage waits for your laptop
Saturday, grocery line. A customer emails: "I paid twice and got nothing."
You check from your phone. The payment webhooks have been failing for three hours.
The fix is one line. The laptop is forty minutes away.
Every founder lives this scene before wiring a phone-first loop. The bug is never the hard part.
The hard part is the forty minutes between knowing and typing.
Alert paths ranked by minutes-to-fix
| Alert path | You learn | You type | The fix ships |
|---|---|---|---|
| An email from monitoring | In the morning | At a desk | Nine hours later |
| A dashboard you check | When you check | At a desk | Hours later |
| A push from an error tracker | Minutes | At a desk, an hour later | An hour later |
| Telegram ping and an SSH app | Seconds | In the grocery line | Minutes later |
Slow paths are worse than the table.
Inbox alerts batch. Monitoring emails get threaded, muted and buried under newsletters. A message from your own bot vibrates like a human texting you.
Diagnosis needs context, not links. "Something is wrong, open the dashboard" forces a sign-in dance on a phone keyboard. A ping that carries the order and the error lets you decide first.
The road matters as much as the bell. An alert without SSH access is a fire alarm with locked doors.
What to do
Connect the ping.
Create a Telegram bot. Add its details to your production settings.
Keep it for money-or-data events only.
A failed payment webhook.
A broken checkout.
Failing database writes.
BoringPush already sends critical failures to Telegram or Discord, with context. Repeat alerts for the same problem are held back for a minute, so one bug cannot buzz your pocket 400 times.
Alert on everything and you will mute the bot within a week.
Keep the road open.
Put the server and your phone on a private network like Tailscale. Add the server to an SSH app on the phone.
The drill is reading live logs from wherever you stand. If you can read them, you can fix them.
Ship the one-liner with the same command as the desktop.
Small fixes ship from the phone.
Typos.
Safety guards.
Setting flips.
Run bp deploy on the server.
It checks your code, builds, ships and waits for a health check.
If the fix makes things worse, bp rollback --yes puts the previous version back. bp status shows the branch, the database size and your latest backup.
The grocery-line drill
| Check | Action from the phone | Pass looks like |
|---|---|---|
| The ping arrives | Trigger a test alert | A buzz within seconds, with context |
| The road is open | SSH app to the server | Connected, app running |
| Diagnosis | Read the order ID in the ping | You know the fix before the logs |
| Ship | bp deploy |
The new version answers its health check |
| Silence | Wait five minutes | No second ping, so it is fixed |
Run the drill monthly, like a fire alarm.
Tokens expire.
Chat IDs change when you reinstall Telegram.
Private-network keys lapse.
Catch all three on a calm Tuesday.
The honest limit
Phone debugging is shallow by nature.
Logs, one-file edits, restarts.
No breakpoints.
No careful schema design.
Stop the bleeding from the phone.
Refund the double charge.
Restart the job.
Flip the flag.
Do the surgery at the desk.
Know this first
Phone debugging is shallow. Logs, small edits and restarts. Not breakpoints.
Stop the bleeding from the phone. Do the surgery at the desk.
Why BoringPush is the way to do this
The alert finds you. The fix leaves from your pocket.
BoringPush sends payment and server failures to Telegram or Discord, with context. Then bp deploy ships the fix. bp rollback --yes takes it back.
Minutes, not hours.
FAQ
How do I fix production from a phone if the bug needs a real debugger?
You usually do not need one. Most production incidents have a known shape: a failed webhook, a full disk, an expired secret, a stuck job.
The ping names the shape, the logs confirm it, and the fix is restart, revert or rotate. For a genuinely new bug, mitigate from the phone and debug at the desk.
Won't I fat-finger a fix on a phone keyboard?
That is what the checks are for. The code check and lint run before every deploy, phone or not, and the kit's rules keep database changes additive. Keep each fix to one file and one idea, and the blast radius stays small.
What if Telegram is down during my outage?
An alert that fails to send does not crash your app. For a dead server, add a free external uptime check, and set Discord as a second channel. Two watchers on two networks leave no single blind spot.
Should customers get a status page instead of me getting pinged?
Both, at different scales. While you are small, a quick ping and a personal apology email beat a status page. Later, add the status page for trust and keep the ping for speed.
How do I keep the bot from waking me for non-issues?
Alert on payments, paid-route errors and database loss only. If an alert fires twice without action, delete it. An ignored ping trains you to ignore all pings.
Can my co-founder get the same pings?
Yes. Put the bot in a shared Telegram group so both phones buzz, or use two chats. Shared pain ships faster than scheduled pain at this size.
Keep reading
- Sentry $49 vs Telegram Alerts $0 for Indies — the cost math behind the $0 ping
- How to Ship Code From Your Phone (2026 Setup) — the 4-app stack this drill plugs into
- Tailscale Deploy Trick: Close Port 22 Forever — the private road the fix travels
+ all the boring stuff (analytics, auth, SQLite ↔ Supabase, full marketplace, webhooks)
Command from your phone.
Built so autonomous AI agents build what you want without breaking what's already paying you.
- Built-in analytics — cookie-free mode, $0 forever, no PostHog bill
- SQLite ↔ Supabase: one setting, same field names
- Full digital marketplace & feedback boards included
- 3 payment rails: Stripe, LemonSqueezy & Dodo Payments
- Agent fences: lint gate, read-only data access, auto-rollback
- Ship from your phone via SSH & WireGuard/Tailscale in under a minute
$199
Get BoringPushOne-time payment · Lifetime updates · Unlimited projects.
Keep reading


