Inspiration
After skating the skate park for several hours, we realized we had no idea how to discover if we were at risk of floods or other disasters. We needed a solution that anyone could use to determine what they're at risk for and be able to examine the data first-hand, in order to fully understand the situation and not just simply elevate panic.
What it does
SafetyNet is an extremely lightweight map interface for viewing KML/KMZ map layers on a familiar Google Maps interface. The user interface is simple enough that anyone who can read a map can read the data that administrators apply. This means that any citizen can quickly and easily gain access to detailed maps containing data that your organization already uses.
How we built it
We've built SafetyNet with as few dependencies as possible. Our passionate full stack developers decided to make an extremely lightweight and scalable application that depends on as little third-party code as possible. What this means:
- Google Maps API for viewing KML
- Webpack and Webpack-Offline-Plugin for caching assets for offline access
- Lightweight compile-time code
- Native HTML5 and JavaScript
- No bulky frameworks needed, perfect for poor net connections!
Challenges we ran into
We first tried to bake in latest technologies, but we found that we were serving a slightly larger amount of code than we could consider lightweight. In order to support every user in any location, we wanted to serve as little code as possible to the end-user. This meant we had to abandon even the lightest frameworks and libraries like Angular and React and roll our own native JavaScript for everything and optimize for efficiency and offline caching.
Accomplishments that we're proud of
We've built an intuitive and lightweight application that will scale easily and be accessible without an internet connection for use in extreme emergencies.
What's next for SafetyNet
SafetyNet would benefit from automated KML generation, which it already supports, but we could not test. This means that if your data sets generate a new KML file with up-to-date data every 24 hours or similar, you can simply provide the URL for the KML file (provided that this same URL will house the latest edition KML at all times) and our application will keep up-to-date data on board. Thus, testing this feature would be the most immediate next step for SafetyNet, but requires access to real-time data that we simply do not have as third-party developers at a hackathon.
SafetyNet would also benefit from the following future features:
- More data sets
- Notify users of updates to the website so they download it again
- Progressive web application
Built With
- google-maps
- html5
- javascript
- webpack
Log in or sign up for Devpost to join the conversation.