Get browser push notifications whenever an XKCD geohash lands near your chosen location.
I host an instance of this at geohash.kaiserapps.com, feel free to go and subscribe for notifications there.
However if you are the super-privacy kind or would just like to run it yourself, follow the below developer instructions.
- Visit the app and select a location on the Leaflet/OpenStreetMap map
- Set a radius (in km) for how close a geohash needs to be
- Click "Enable Notifications" to subscribe to browser push notifications
- When a geohash lands within your radius, you'll get a push notification
- Click the notification to open OpenStreetMap at the geohash coordinates
This application is built with deployment to Dokku / Heroku in mind.
VAPID_PUBLIC_KEY=<your VAPID public key>
VAPID_PRIVATE_KEY=<your VAPID private key>
VAPID_SUBJECT=mailto:your@email.com
MONGO_URL=mongodb://localhost:27017/geohash-notifier
npx web-push generate-vapid-keys
This will output a public and private key pair. Set them as environment variables.
Note: HTTPS is required for service workers and push notifications (except on localhost for development).
bin/go
And you're done! Good to go! Try it out on http://localhost:3000
You'll need:
- Node.js >= 18
- MongoDB running
Then execute:
npm install
MONGO_URL=mongodb://localhost:27017/geohash-notifier npm start
Run the check job manually or set up a cron to run it periodically:
node jobs/check_stocks.js
git push dokku@benkaiser.dev:geohash-notifier master
The buildpack auto-detects Node.js from package.json.