Skip to content

UmiLog

Explore, plan, log, and relive dives on one map

UmiLog dive site map with bottom sheet and site markers
ongoingiOS2026

Platform

iOS (SwiftUI, GRDB, MapLibre).

What it does

A dive log where the place and the dive live together: a map of dive sites, a record of the wildlife there, and a personal log. It all works with no signal.

Highlights

  • ▸The map zooms from ocean to region to area to site, and works offline. Sites are linked to their parents, neighbors, and other names, not dropped as loose pins.
  • ▸Each site shows which names, coordinates, and wildlife records have evidence behind them, which are still uncertain, and which duplicate names are not merged yet.
  • ▸A dive and the species seen on it are saved together, then show up later on that site's timeline.

Architecture

Local-first. GRDB holds the site graph and the log on the phone. MapLibre vector tiles with a runtime theme. The starting data is Wikidata plus a hand-curated crosswalk, audited rather than trusted. I am now grading the evidence behind each site and wildlife record so the data stays honest as it grows.

Stack

SwiftSwiftUIGRDBMapLibreXcodeGen