I built this because I manage a few production servers. Recently, my main API became unresponsive at 3 AM. I had uptime monitoring set up (Grafana/Uptime Kuma), but the standard push notification was too short/quiet to wake me up, especially since my phone was on "Do Not Disturb".
Existing solutions like PagerDuty felt like overkill (and too expensive) for my personal projects.
So I built a native Android app that acts as a dedicated pager.
It listens for incoming Webhooks and triggers a full-screen VoIP call using Android's ConnectionService API. This allows it to:
1. Bypass Silent Mode and DND restrictions legally.
2. Ring continuously until I wake up and acknowledge the incident.
3. Multi-device support (added in v1.1)
royal-amrah•1h ago
I built this because I manage a few production servers. Recently, my main API became unresponsive at 3 AM. I had uptime monitoring set up (Grafana/Uptime Kuma), but the standard push notification was too short/quiet to wake me up, especially since my phone was on "Do Not Disturb".
Existing solutions like PagerDuty felt like overkill (and too expensive) for my personal projects.
So I built a native Android app that acts as a dedicated pager. It listens for incoming Webhooks and triggers a full-screen VoIP call using Android's ConnectionService API. This allows it to: 1. Bypass Silent Mode and DND restrictions legally. 2. Ring continuously until I wake up and acknowledge the incident. 3. Multi-device support (added in v1.1)
Tech Stack: - Backend: Go (Fiber) + PostgreSQL - Mobile: Kotlin (Native) - Realtime: WebSocket + FCM
It has a free tier for hobbyists. I'd love to hear your feedback on the reliability and the approach.
Happy to answer any technical questions!