FOX RUN LABS
← Selected work

01 / SWIFT · iOS · GEOGRAPHIC COORDINATES

MyQTH

One location. Several ways to describe it.

SwiftUIMapKitCore LocationSwift Testing
Explore the repository
MyQTH map interface with callsign marker and Maidenhead grid locator
Map and Maidenhead locator
MyQTH details screen displaying coordinates and location accuracy
Coordinate representations and accuracy

THE PROBLEM

Make a location useful in the field.

Amateur radio operators use the Maidenhead Locator System to communicate geographic positions. Other contexts call for latitude and longitude, UTM/UPS, or MGRS. MyQTH brings these representations into a focused native iOS utility, alongside an interactive map.

What the application does

MyQTH presents four- and six-character Maidenhead locators, latitude/longitude in three notations, and WGS 84 UTM, UPS, and MGRS coordinates. It supports on-demand and continuous location updates, a callsign on the map marker, grid-related zoom levels, and a position-details view with reported horizontal accuracy.

Architecture: location, mathematics, presentation

Core Location supplies the position. Explicit coordinate models represent the conversions. SwiftUI and MapKit present the result. Keeping the mathematics separate from presentation makes the conversion behavior easier to inspect and test.

Core Location
Position
Coordinate models
Conversion
SwiftUI + MapKit
Presentation

Two important design choices

Native frameworks and a focused scope. The application uses Apple frameworks without third-party runtime dependencies. It is a location utility rather than a full navigation application; that boundary keeps attention on clear representations and predictable behavior.

Precision is not accuracy. More digits do not make the device’s position measurement more accurate. The details view includes Core Location’s horizontal accuracy alongside formatted coordinates so the displayed precision has context.

Evidence of verification

The repository includes Swift Testing suites for Maidenhead, UTM, UPS, and MGRS behavior. Test cases address geographic boundaries, invalid input, formatting, and special UTM zones in Norway and Svalbard. The UTM suite includes explicit expected values for northern and southern hemispheres and both longitude boundaries.

These are checked-in tests, not a claim that the current build or every geographic input has been independently verified for this case study.

Scope and next steps

Coordinate calculations operate locally and do not require an account or a remote conversion service. The underlying position still depends on the device’s location services and permissions. A useful next step is extracting the coordinate logic into a documented Swift package, with independently sourced reference values and an explicit numerical-precision contract.

Screenshots and implementation descriptions come from the public project repository. See its README for current platform requirements, build instructions, and license.

KEEP EXPLORING

QBPlay — text becomes sound