I liked how simple it looked, and noticed that it refreshed periodically. Poking at it in the browser dev tools revealed that it was polling a public GeoJSON feed.
This inspired me to make a free/open-source desktop taskbar app that would replicate the functionality of the website, since I was visiting it quite often at that time. I thought it would also be cool if the app could notify me when a new earthquake past a certain magnitude threshold happened.
I called the app Seismic and released v1.0 in less than a week, which is a new record for me. I'm pretty happy with the result, and now it's living in my taskbar 24/7.
From my 2023 toolbox:
- Tauri - for building the app
- Svelte - for the UI
- Vite - for the build tooling
- Tailwind CSS - for the styling
- Data: magnitude, location, time (client-side), depth
- Open the location in geojson.io
- Polls the USGS feed every 60 seconds (default)
- Configurable refresh interval
- Notifies you when a new earthquake happens (by default all earthquakes are notified)
- Configurable notification threshold
- Light/dark mode
Note that the app is not signed, so you might get a warning when you run it for the first time. This is because I'm not paying for a code signing certificate.
Note, also, that I've only tested it on Mac. It's very possible that it may not work as nicely on Windows or Linux. Unfortunately I don't have machines for those platforms to test it on (particularly the taskbar integration and desktop notifications).
Seismic is feature-complete for now, but I've already prepared v1.1 with optional color-coded events based on magnitude. Before that, I'm working on setting up an automatic updater, so you should be able to receive the next version without having to download it manually.
The USGS feed has a lot of metadata that I could display, so perhaps I'll add a details view for each event (if I can figure out what it all means). At the very least, I want to mark events that come with a tsunami warning.
A built-in map view would be interesting, though I'm not sure if it's worth the effort since you can already open the event location in geojson.io.
I'm very happy with how quickly I was able to reach v1.0 on this project. The reason for it is that it was a simple concept to start with, and I made sure to limit the scope to the bare minimum. I also had a lot of the tooling already in place, so it was just a matter of putting it all together.
Another positive side effect is that now I have a pretty solid taskbar app template that I can use for future projects. In fact, I have an older, unfinished app will benefit from the same treatment, as it makes for a perfect taskbar candidate. Stay tuned!