-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Manuel Kasper edited this page Apr 25, 2025
·
8 revisions
The current implementation of HamAlert dates back to 2017. While the technology that it uses is still supported and no imminent action is necessary, eventually some parts need to be rewritten to address scalability issues and make the user interface look and feel more like 2025. Also, currently all HamAlert development is done by HB9DQM, which is a single point of failure and limits the development speed, as he also handles user support.
One way to handle this project would be to start on the greenfield, taking ideas and code from the current solution where appropriate, and implementing the rest from scratch using lessons learned during the past seven years.
- Improve scalability
- More modern user interface (web, app)
- Live spot view on the web
- Make it a community effort, reduce bus factor
- Add often requested features
- HamAlert V2?
- HamAlert NG
- Tomas NW7US
- Manuel HB9DQM
- Björn DG8OBN?
- Server ops
- Recruiting? Email announcement sent to all users?

- Backend application
- Node.js
- Obtains spots from various sources
- DX cluster
- POTA
- SOTAwatch
- PSK Reporter
- RBN
- POTA
- WWFFwatch (GMA)
- Reads trigger definitions from MongoDB
- Matches spots against triggers
- Separate process with IPC
- Hash table lookups with Roaring Bitmaps
- Handles rate limiting per user (duplicate spots etc.)
- Uses Club Log to resolve DXCCs from callsigns
- Looks up summit, park and island names from SOTA/WWFF/POTA/IOTA lists
- Checks callsigns on LotW and eQSL user lists
- Looks up US states and CA provinces on government callsign lists, downloaded daily
- Sends notifications
- APNS
- FCM
- Telnet
- Threema
- URL
- Guesses modes from cluster comments
- Database
- MongoDB
- Web application
- PHP
- jsRender
- Account registration, login, maintenance, deletion
- Trigger/condition definition
- Alert destination configuration
- MySpot embed image generation
- Reads/writes from MongoDB
- API for app
- Load spots
- Delete spots
- Add/Clear mutes
- Update push notification token
- Mobile application
- Apache Cordova
- Receive push notifications via APNS/FCM
- Show received spots with details
- Mute function
- Settings
- Link to QRZ.COM, SOTA summits DB, POTA, WWFF etc.
- Spot-dependent notification sounds
- Spot acquisition
- Matching (+ rate limiting)
- Notification sending
- Database
- Web application
- Mobile application
- Message queue to interconnect components for spot handling
- ZeroMQ
- Redis
- High-speed matching engine
- Rust?
- Matrix
- Telegram
- Signal
- other messenger apps used by hams
- Who runs the servers?
- Status quo: single beefy DigitalOcean droplet on Linux
- PaaS vs. running/maintaining virtual servers
- New icon?
- User support
- Forum moderation
- Fundraising
- Currently funded by HB9DQM privately ($150/month)