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.