Show HN: A pager
Posted by keepamovin 1 day ago
Hello HN,
I basically don't use notifications for anything. The noise is too much. Slack is too loud. Email is too slow. But sometimes you do need a note in your face.
I found myself missing 1990s pagers. I wanted a digital equivalent - something that does one thing: beep until I ack it.
So I built UDP-7777.
Concept:
- 0% Cloud: It listens on UDP Port 7777. No accounts, no central servers. You don't need Tailscale/ZeroTier/WG/etc, it's just easy for device sets.
- CAPCODES: It maps your IP address (LAN or Tailscale) to a retro 10-digit "CAPCODE" that looks like a phone number (e.g., (213) 070-6433 for loopback).
- Minimalism: Bare-bones interface. Just a box, a few buttons, and a big red blinker.
The Tech:
It's a single binary written in Go (using Fyne). It implements "burst fire" UDP (sending packets 3x) to ensure delivery without the handshake overhead of TCP.
New in v2.2.7:
- Frequency Tuning: Bind specifically to your Tailscale/ZeroTier interface.
- Squelch: Optional shared-secret keys to ignore unauthorized packets.
- Heartbeat: Visual/Audio alerts that persist until you physically click ACK.
I built this for anyone looking to cut through the noise—DevOps teams handing off the "on-call IP", or deep-work focus where you only want interruptions from a high-trust circle.
I'd love to hear your thoughts on the IP-to-Phone-Number mapping logic (it's purely visual, but I'm really into it).
Site & Binaries (Signed for Mac/Win): https://udp7777.com
Comments
Comment by ProllyInfamous 1 day ago
I still use one which gets one-way service from <https://pagersdirect.net/> (~$14/mo, with phone number and pager included). Most US cities, large and small, still have active infrastructure. I live in a city with a few hundred thousand people, great coverage.
This has replaced my mobile phone, which I no longer carry. It also prevents spammers from messaging... because the systems don't understand this antiquated technology [1].
For those interested, Pagers Direct has an email-to-pager option (I don't use it, phone digits only please caller, after the beep). It also has two-way pagers, which I have no experience with.
One caution: for one-way pagers, if you're out of range[0] when somebody sends you text, you will never get the message (no handshake/confirmation).
[0] does not use traditional cellular infrastructure
[1] TBH: most humans don't either, unless you explain how to page somebody: key in your callback#/code after the beep [no audio/text]
[•] I don't work for the above-linked paging service, I'm just a very happy customer.
Comment by calvinmorrison 17 hours ago
Comment by keepamovin 1 day ago
Comment by ProllyInfamous 1 day ago
>builds simple, DIY kits for them
So I highly doubt this would be profitable for you.
----
As far as the paging infrastructure is concerned, all the messages are mass-sent, in an un-encrypted analogue broadcast. EVERY device receives EVERY page, as long as within range. It is the pager itself which chooses to only display "your" message(s).
Your DIY hardware could lead you into some interesting discoveries of your local area's messaging/users.
Comment by mbirth 1 day ago
Got lots of server health messages and requests to call people back. And some more personal messages, too.
Comment by keepamovin 8 hours ago
Comment by nineteen999 15 hours ago
Definitely old but highly reliable.
Comment by bflesch 14 hours ago
Edit: To clarify, if the frequency is known couldn't they simply disable/jam all devices?
Comment by nineteen999 11 hours ago
An attacker would need a lot of fairly powerful jamming equipment just to disrupt a small area of it. And our customer would advise us pretty quickly if their personnel were having reception issues and our field engineers would diagnose the source of the interference pretty quickly. So no.
Comment by ProllyInfamous 1 day ago
>I'd love to hear your thoughts on the IP-to-Phone-Number mapping logic (it's purely visual, but I'm really into it).
Personally, this seems like a really bad idea. The similarity to actual phone numbers might lead to confusion by non-technical high-trust contactors. Worse (e.g.) if the IP were 91.1x.x.x then this could lead to further confusion &/or erroneous 9-1-1 misdials (by inept contactors).
It's a UDP packet, ought it not be in IP-format?
>where you only want interruptions from a high-trust circle
I don't even have a phone contact number anymore. After you page me, I'll VoIP you back from an outbound-only.
But overall I LOVE that you have attempted this; only real problem for your average installer/recipient is that most home ISPs are firewalled (so a UDP7777 inbound isn't possible), but this obviously isn't for even your average technical installer.
----
Just leave me alone, world/SPAMmers!
How do you prevent malicious actors from invading your 7777UDPs?
Comment by keepamovin 1 day ago
Comment by robertlagrant 18 hours ago
Depending on how internet-proof you want to make this, I wonder if it might be better to sign with a secret and attach the signature to the message instead of directly sending the secret.
Comment by keepamovin 15 hours ago
Comment by blargwill 1 day ago
Landing page (doesn't link to anything): https://fob.launchbowl.com/
A little word dump of thoughts at the start of the journey: https://launchbowl.com/e_ink_pager
Your project seems really cool and allows you to bring your own hardware. Out of curiosity, have you blocked all notifications on your phone? Would this be run on your computer? Would you ever move in the direction of a physical device?
Comment by keepamovin 8 hours ago
Yes, I block all the notifications on the phone. I leave badges for some apps and check when I want, or just periodically check when it's in my rhythm. (A few people have exceptions). It runs on computer now, but the next step is I want to test if mobile could be achieved without a server (I'm okay with a Tailscale/ZT requirement or such, for now). Aside from that I would love physical infra. If it could work such that it piggy-backed off existing infra, at first, might be good approach. Someone should do this. I don't know if it's us, but it should be created.
If anyone would like to discuss these possibilities, please reach out at pager@dosaygo.com
Comment by wkat4242 1 day ago
I just have a pretty strong desire to get my anonymity back when I want it. Not because I need it but just to feel free again.
Comment by keepamovin 8 hours ago
Comment by ProllyInfamous 1 day ago
I have and use one, partially for the reasons you list above.
[•] Not a representative of the company, just a very happy customer.
Comment by wkat4242 1 day ago
Thanks for the tip though!
Comment by keepamovin 1 day ago
Comment by kotaKat 16 hours ago
Comment by antihoney 8 hours ago
Comment by keepamovin 8 hours ago
Comment by pKropotkin 3 hours ago
Comment by keepamovin 2 hours ago
Comment by Western0 18 hours ago
Comment by andai 1 day ago
Comment by aiiotnoodle 1 day ago
Comment by keepamovin 1 day ago
Comment by swah 18 hours ago
Comment by koakuma-chan 1 day ago
Comment by leetbulb 17 hours ago
Comment by koakuma-chan 14 hours ago
Comment by mzajc 1 day ago
PS: The "SHA256 CHECKSUMS VERIFIED." is static. No hash check is performed, and as far as I can see the website doesn't have a list of hashes to check.
Comment by keepamovin 1 day ago
Your radar was okay: site is machine-generated by build workflow which pushes the binaries. The "Verified" label reflects internal CI attestation, but without public hashes? Might cause concern. Did not consider, tho based on your comment I've now replaced with "Digitally Signed and Notarized".
So reflects more accurately how the binaries are always digitally signed and notarized (Apple Developer ID + Microsoft Authenticode) with our company certs. SOP for my releases. The verification is the cryptographic signature checked by your OS kernel, not just a text file.
I actually like this presentation better now!
Comment by MrDOS 14 hours ago
Comment by ProllyInfamous 1 day ago
----
Public WhoIS registrant:
Chris [redacted]
The Dosyago Corporation
Beaverton, Oregon
----
OP has ~2 year old /hn/ account, with ~11k karma
----
I have made no further investigations, but obviously haven't installed this myself (as I have an IRL pager that solves similar issues to OP's).
Comment by keepamovin 1 day ago
Comment by war-is-peace 1 day ago
> The system is intentionally raw. No headers, no JSON, no XML.
> Transport: UDP Port 7777
> Encoding: UTF-8 Plain Text
> Format: [SECRET::]MESSAGE
you dont get it, the protocol is flawless
Comment by keepamovin 8 hours ago
Comment by waynesonfire 14 hours ago
> Only messages matching your Secret Key will ring.
I assume that's the "Secret Key" is placed in this prefix tag, '[SECRET::]' ?
Since plain-text over UDP is not very secret, I'm now motivated to look into how Wireguard is able to use PKI to only accept packets from a trusted clients. And, how that protocol could be used to generate the Secrey Key.