Skip to main content

Crag Topo

An offline-first climbing guidebook app for iOS. A drop-in replacement for Rockfax, built for the place people actually use a guidebook: at the bottom of a crag, with one bar of signal, wearing gloves.

:::note Where this documentation lives These pages are MDX files in docs/ in the repository, rendered by the Docusaurus site in apps/docs. They are edited in the same pull request as the code they describe — see Documentation standards. :::

The shape of the thing​

Screens never read the network. They read SQLite. Sync is a background concern that may fail all day without a single screen breaking. That single decision shapes most of the architecture — see Offline-first.

The data model in one sentence​

A crag is a place you go climbing; it contains sectors; a sector holds photos and routes; a route line draws a route onto a photo.

The full version, with every column and the reasoning behind the awkward parts, is in Data model.

Where to go next​

If you want toRead
Understand what we are building and whyProduct overview
See what is planned, and in what orderRoadmap
See what is not planned but wantedWishlist
Know why a technical choice was madeDecision log
Get the repo runningGetting started
Understand PR previewsCI/CD and previews
Look up a climbing termGlossary

The two rules​

  1. Documentation changes in the same PR as the code. Not afterwards.
  2. Architecture decisions get confirmed with @mattmoran56 before they are written down. The log has no status column — a record is a decision we have made — so the asking happens first. See the decision log.

Both are written up properly in CLAUDE.md at the repo root.