The current leading and most trusted source for earthquake data tracking purposes on the island is the University of Puerto Rico at Mayagüez seismic activity portal (Red Sísmica de Puerto Rico). While I think they have done a wonderful job at creating and maintaining the portal, most likely with a very tight budget and limited resources at hand, there's definitely some pain points that I, as a regular user, identified that could be improved;
User Experience
Responsiveness
Speed
Outdated
Overall design
As a regular user, the points above were a bit annoying for me when using the page more than 20 times per day to stay up to date with the earthquake activity on the island. I decided to do something about it and build my own and very first Nuxt.js Progressive Web App which would be installable and compatible with a wide range of devices and browsers, providing, at a glance, the most important information the users would need, quickly, effectively and in a modern polished dashboard-like front end.
Initially I wanted to somehow consume the data that the UPRM was leveraging on their portal, unfortunately the data source that they utilize is not formatted as a request-able Web API and it was going to make things more complicated to get into their servers because of CORS-Origin constraints.
I decided to leverage the USGS Web API instead.
The only drawback that I've found about using the USGS Web API as data source data is that, for some reason the data is usually not available at the same speed as the UPRM data source is, and often times they don't report exactly the same earthquake magnitudes etc. Here's a list of frameworks and modules I used on the project:
Nuxt.js - Vue.js framework.
Vuetify.js - Material design front-end component library.
Axios - Promise based HTTP client for the browser and node.js.
Moment.js - Parse, validate, manipulate, and display dates and times.
MapBox - Web mapping library.
This project is currently a work in progress and it is far from being completed. I have a list of future features to implement which include;
Real-time web notifications when new seismic activity is reported.
More data driven reports and graphs.
Add more features to the map view.
Locale translations.