What I built
Imagine you'd like to meet up with your friends, but you are in an open and maybe crowded space, so that beside sharing your own location, you'd love to also see where is everyone else, to eventually converge into a single place on a map without needing to install any native app.
This is Geo Share, a PWA where you can either be the host, or simply a guest of any other person that shared a unique URL with you.
Demo Link
You can become a host simply visiting geoshare.now.sh.
Once you've found yourself on the map, and clicked on top right 👥 icon, you'll have in your device clipboard a unique URL you can paste to your friends.
That's it, anyone using that link will see everyone else aware of such link and, as long as you are using the app, also see you as host of the group (dark icon).
Link to Code
https://github.com/WebReflection/geoshare
How I built it
- Zeit now-cli for the easiest deployment ever!
- Leaflet library for the map on top of OpenStreetmap tiles
- Nominatim for reverse geocoding on longpress (to share a tooltip from the host)
- Pusher Channels API for real-time updates and communications
- NoSleep utility to (hopefully) prevent device from sleeping
- hyperHTML for layout render and updates
- lightdown to bring a fast, safe, and useful Markdown flavour to each message
Additional Resources/Info
The rest of the code is written by me and based on ES Modules, bundled through asbundle, sanitized via Babel, and minified via UglifyJS.
Common PWA techniques such ServiceWorker and a manifest.json
are in place too.
Top comments (1)
Love the idea :)