Rendering a Live 3D Earthquake Globe on iOS From the USGS Feed
A developer shares how they built an iOS app that renders a real-time 3D globe of recent seismic activity directly from public USGS GeoJSON feeds without a backend.

Stock photo for illustration only, not from the actual event
- Built an iOS app displaying real-time earthquakes on a 3D spinning globe
- Fetches coordinates, magnitude, and depth directly from USGS GeoJSON feeds without a backend
- Encodes earthquake magnitude and depth visually through marker size and color
- Connects devices directly to the public data source without intermediate proxy servers
The desire to witness earthquakes the way they genuinely occur as points lighting up on a spinning planet in near real time drove the creation of Earthquake: Live Seismic Monitor. This iOS application renders a three-dimensional globe of recent seismic events straight from the USGS feed, utilizing public data and the user's device entirely without a custom backend.
The USGS publishes earthquake data in the form of continuously updated GeoJSON feeds across various time and magnitude cutoffs, including the past hour, past day, and magnitudes of 2.5+ or 4.5+. Each individual feature contains coordinates, magnitude, depth, and time, providing all the necessary details to position a tremor on a globe without requiring a custom API.

Stock photo for illustration only, not from the actual event
Processing GeoJSON spatial data directly on the client side drastically reduces infrastructure overhead and maintenance costs. This serverless architectural pattern is exceptionally effective for applications consuming standardized public feeds, such as weather updates or natural disaster monitoring reports.
The application polls the appropriate data feed, runs a diff against existing stored records, and updates the scene accordingly. Because the USGS handles the heavy lifting on their end, the entire infrastructure remains effectively serverless from the developer's perspective.
The core cartographic challenge involves translating latitude and longitude coordinates into specific points on a sphere. Once accomplished, each earthquake transforms into a distinct marker where its physical size and color explicitly encode magnitude and depth, allowing users to instantly distinguish between large shallow events and small deep ones at a single glance.
Any network-dependent application must address offline behavior and define how fresh its live data truly is. The developer opted to have the device talk directly to the source, resisting the temptation to proxy the feed through a personal server for control. Since the USGS feed is reliable, public, and built precisely for this purpose, eliminating a backend removed the need to run servers, worry about scaling, or introduce data staleness.
Source: Dev.to
Found something wrong in this article? Report an issue with this article
Comments
Leave a Comment